Commit Graph

245 Commits (169a06793db8d12b7eeb084d2ebf3f4b108c0d87)

Author SHA1 Message Date
muxator 9d35d15ae3 node8: require nodejs >= 8.9.0, npm >= 6.4
Next version will be Etherpad 1.8. As planned in #3424, we are going to require
NodeJS >=8.9.0 and npm >= 6.4.

This commit implements that change and updates documentation and scripts.
Subsequent changes will get rid of old idioms, dating back to node < 0.7, that
still survive in the code.
Once migrated to NodeJS 8, we will be able to start working on migrating the
code base from callbacks to async/await, greatly simplifying legibility (see
#3540).

Closes #3557
2019-02-19 22:01:12 +01:00
muxator acc0b05702 windows: 1.7.5 was released with node 8.15.0. Document it here. 2019-01-27 13:48:24 +01:00
Joseph C Wang ae49409593 fix for python3 2019-01-22 22:23:18 +01:00
HairyFotr fce55df2b7 Fix typos 2019-01-16 11:14:04 +01:00
Luiza Pagliari 59cae81152
[chore] Allow debug mode on node versions >= 6.3 (#3527)
I've tried to install `node-inspector` using Node 8 and it looks like it is not supported. 

According to the [documentation of that tool](https://www.npmjs.com/package/node-inspector):

> Since version 6.3, Node.js provides a built-in DevTools-based debugger which mostly deprecates Node Inspector (...). The built-in debugger (...) provides certain advanced features (...) that are too difficult to implement in Node Inspector.

As [we require nodejs >= 6.9.0](https://github.com/ether/etherpad-lite#requirements), and as [`node-inspector` only works on Chrome and Opera](https://www.npmjs.com/package/node-inspector#debug), it looks like a good approach to remove the dependency of that tool and use Chrome DevTools directly. Besides, [there are other tools available](https://nodejs.org/en/docs/guides/debugging-getting-started/#inspector-clients) for debugging, if Chrome is not an option.

This PR also allow external connections to the inspector, so Etherpad instances running on containers can also be debugged. [There are obviously some risks to leave that opened on public IPs](https://nodejs.org/en/docs/guides/debugging-getting-started/#exposing-the-debug-port-publicly-is-unsafe), but I assumed no instance would run on debug mode for the final user.
2018-12-22 10:28:50 -02:00
Stefan More 799319882c migrateDirtyDBtoRealDB: disabled write buffer, #2214 2018-11-27 21:18:40 +01:00
Stefan More b8fa179622 migrateDirtyDBtoRealDB: added hint regarding memory, #2214 2018-11-27 21:18:40 +01:00
Achim Friedland 5f836f6211 Try/catch to skip invalid JSON in dirtyDB 2018-11-03 00:12:08 +01:00
muxator 9aaa02ec70 installDeps: no need to download jquery at starting time. Remove curl dependency
In installDeps.sh we have a bunch of code (from 2011) that checks for the
existence of jQuery and eventually downloads it, but since 1239ce7f28 (year
2012) jquery is vendorized in /src/static/js/jquery.js.

Also, stop mentioning curl as a dependency in the README.md

Fixes #3494
2018-10-07 18:56:28 +02:00
muxator c09e638fc3 installDeps.sh: don't nuke all installed plugins on update
This is a modification of PR #3474 by rohieb <rohieb@rohieb.name>.

When this script is run after an update, and something fails during the npm
run, the installed plugins were deleted, too.

In this version what gets deleted is only the directory that contains the
direct dependencies of the core Etherpad, ie:
  node_modules/ep_etherpad-lite/node_modules
2018-08-29 21:45:33 +02:00
muxator 0c518cadf5 skins: replace {js,css}.template with actual files. Simplify startup scripts.
Currently, an Etherpad skin requires the existence of 6 files:
- index.{css,js}
- pad.{css,js}
- timeslider.{css,js}

In the default empty skin (in static/custom), there were 2 small placeholders
({js,css}.template) to be copied in place by the startup script in case no skin
was in use.

Now that we are moving to multiple directories (see #3471) we can simply commit
the example files and remove the copying code from the startup script.
2018-08-26 21:17:04 +02:00
muxator 5f9de6948c cleanRun.sh: get rid of "Bad substitution" error
It was introduced in 4a18f0d97d (#3356).
2018-08-17 22:22:14 +02:00
muxator d7696413da createRelease.sh: deprecate the script. It will be removed or modified.
Starting with Etherpad 1.7.0, the branching strategies for releases will be
simplified.
Leaving this script here, as it's useful for documenting other release-related
activities.
2018-08-17 00:09:25 +02:00
"muxator ext:(%22) d23cf924c9 installDeps: replace GNU specific long options whith short ones
Long options are only present in GNU cut, and we aim to also support other
platforms.
2018-07-31 12:44:17 +02:00
muxator 379690abbf tests: backend tests are now run with "npm test" instead of a custom bash script 2018-07-28 23:54:51 +02:00
muxator a3ae374a67 installDeps: made version detection more robust. Require Node >= 6.9, npm >= 3.10
require_minimal_version() tries to parse semvers in a Posix portable way and
ensure a minimal Major.minor version is met.
2018-07-28 23:33:24 +02:00
muxator c4918efc1b installDeps.sh: do not modify package.json when installing dependencies
installDeps.sh's only side effect should be to actually install dependencies
according to a configuration file, and not to modify it.

Adding --no-save to the npm command line forces npm to have a read only access
to package.json.

Old npm versions seem to support --no-XXX style flags even if not documented
(see https://github.com/npm/npm/issues/14285#issuecomment-254298519)

Tested with npm 3.5.2 and 6.1.0

Fixes #3396
2018-07-14 17:54:26 +02:00
muxator 6dbeca217e createRelease.sh: changelog editing failed for multiline messages
sed does not accept multiline strings in its replacement text.
Let's replace newlines with literal "\n" in modify_files()
2018-05-04 00:36:09 +02:00
muxator 903a2c8e43 createRelease.sh: added error checking in modify_files()
Otherwise, when inserting a multiline changelog sed would with this message:
  sed: -e expression #1, char 27: unterminated `s' command

And the script would continue with an unmodified CHANGELOG.md
For simmetry, added the same check to package.json, too
2018-05-03 23:54:08 +02:00
John McLear 0c8b9e13fa
Merge pull request #3242 from BenaeSan/master
FIX the installOnWindows Error
2018-04-03 13:06:30 +01:00
John McLear ad89cb7d78
Merge pull request #3331 from sevu/pythonv2
specify python version in shebang
2018-04-03 13:00:45 +01:00
John McLear e6e46404d1
Merge pull request #3342 from caugner/patch-1
Add checkPad variant to check all pads/revisions
2018-04-03 12:58:23 +01:00
Bryce York 4a18f0d97d
Fix bug with cleanRun.sh
Now works if the output of `pwd` has a space in it.
2018-03-28 22:38:30 +11:00
Claas Augner 5c915062e1
checkAllPads: Increase performance/resilience
Performance: Don't preload pads. Check for pool only once per pad.
Resilience: Handle missing revision.
2018-03-09 14:02:22 +01:00
Claas Augner 5c864ec47d
Add checkPad variant to check all pads/revisions 2018-03-09 13:45:24 +01:00
Severin Glöckner 0139965864 specify python version 2018-03-01 07:57:46 +01:00
John McLear ad09e8ed76
Update package.json 2017-11-20 08:46:24 +00:00
Stefan (Gared) e347f12c71 Updated node version for windows to 8.9.0 2017-11-04 17:02:25 +01:00
HairyFotr c7548450c0
Typos and minor fixes in bin, doc, and root 2017-09-14 13:33:27 +02:00
bm jade 64aee56940 FIX
missing backslashes
2017-08-07 17:15:02 +02:00
bm jade 193afacb6f FIX
fix provide by skupfer from github, It fix the installOnWindows problem
2017-08-07 16:36:44 +02:00
jeffreyye 9ca56a4c7e wrong path of generate.js 2017-04-04 15:13:07 +08:00
Stefan 8992dd665a Merge new release into master branch! 2016-12-23 22:00:34 +01:00
Stefan 6dc808ad54 Release version 1.6.1 2016-12-23 21:59:57 +01:00
Stefan caabb4d8f7 Update nodejs for windows to 6.9.2 2016-12-22 23:15:49 +01:00
Stefan d1d2e462d0 Updated node for windows build to version 6.9.1 2016-11-20 12:32:36 +01:00
rugk f4bbe00322 Download JQuery over HTTPS
Otherwise anyone can MITM the connection and add rogue code there.
2016-07-23 16:59:47 +02:00
Stefan e11decc6f8 Fix module paths for db migration script 2016-06-08 19:43:53 +02:00
Stefan 1349cfd486 Fix error if whitespace in etherpad path 2016-05-16 16:58:58 +02:00
Stefan fb96f32028 Update node for windows to version 4.4.3 2016-04-24 20:42:53 +02:00
Stefan 8aa297fb40 Remove node version output on start 2016-04-24 20:29:07 +02:00
Stefan 7637b0cd19 Increase version of node for windows to 4.4.2 2016-04-03 16:57:15 +02:00
John McLear e1999d826c allow greater than or equal to v 4 2016-03-27 13:31:00 +08:00
John McLear 75cd4b3333 Merge pull request #2924 from Gared/update_windows_build
Update windows build
2016-03-26 22:11:40 +08:00
Stefan 2a81d2a578 Remove support for io.js 2016-03-20 15:21:56 +01:00
Stefan 18d583d92d Check for node version 4 or higher and not special versions 2016-03-20 15:19:34 +01:00
Stefan 3738211fd8 Do not include absolute path in windows zip 2016-03-20 14:13:26 +01:00
Stefan bd2372def1 Update windows build:
- Update node to version 4.4.0
- Create temp folder dynamically
2016-03-14 21:56:04 +01:00
Reed A. Cartwright 843b05a6ec Use exec to switch to node process
At the end of run, `exec` should be used to switch to the node process.  That way node will take over the pid of `sh run.sh`, making it easier to monitor and daemonize the server. 

```
    exec [command [arg ...]]
             Unless command is omitted, the shell process is replaced with the
             specified program (which must be a real program, not a shell
             built-in command or function).  Any redirections on the exec com-
             mand are marked as permanent, so that they are not undone when
             the exec command finishes.
```
2016-01-19 16:17:16 -07:00
Blake Tölva c61aa20028 Improve DB migration performance.
Achieve 10x speedup in migrating a 12mb dirtyDB file by disabling
ueberDB caching in this special case.  Add some progress messages
to the migration script and rename it, as nothing in it is tied
to mysql.
2015-11-21 23:15:46 -08:00