Commit graph

134 commits

Author SHA1 Message Date
Richard Hansen
33fb4c71e4 deps: Bump ESLint dependencies 2022-02-02 20:21:34 -05:00
Richard Hansen
c40544eade lint: Bump ESLint dependencies 2022-01-28 03:24:14 -05:00
Richard Hansen
c568bb1baa ci: Skip frontend tests for Dependabot PRs 2022-01-28 01:51:15 -05:00
Richard Hansen
43aa1e4aeb ci: Reformat .yml files for readability 2022-01-28 01:39:45 -05:00
Richard Hansen
35a182e053 ci: dependabot: Set versioning-strategy to increase
This keeps `package.json` in sync with `package-lock.json`.
2022-01-27 23:54:28 -05:00
Richard Hansen
63a02ec5fa ci: Enable caching 2022-01-27 22:40:38 -05:00
Richard Hansen
3732565f83 ci: plugins: Bump saucelabs/sauce-connect-action 2022-01-27 22:40:38 -05:00
Richard Hansen
737464935e ci: plugins: Enable dependabot 2022-01-27 22:05:47 -05:00
Richard Hansen
f02334e589 ci: plugins: Install plugin deps before core deps 2022-01-27 22:05:47 -05:00
Richard Hansen
be36f764ad deps: Update eslint-config-etherpad 2022-01-27 22:05:47 -05:00
Richard Hansen
c586502e3c deps: Bump marked to 4.0.12 2022-01-27 02:05:11 -05:00
Richard Hansen
1e604add99 deps: Require Node.js 12.17.0 or later
This makes it possible to use dynamic `import()`.
2022-01-27 01:27:10 -05:00
Richard Hansen
e4a336e875 plugins: Add npm packages to etherpad org 2022-01-20 20:33:24 -05:00
Richard Hansen
f1856cf95a Docker: Use new /health endpoint for HEALTHCHECK 2021-12-21 17:19:56 -05:00
Richard Hansen
1fe01c66fd getCorePlugins.sh: Various improvements
* Factor out plugin query.
  * Make idempotent.
  * Improve logging.
  * Install by symlinking to a parallel directory rather than cloning
    into `etherpad-lite/node_modules`.
2021-12-11 02:01:35 -05:00
Richard Hansen
5915c2243d checkPlugin: Redo README.md and LICENSE 2021-12-11 02:01:35 -05:00
Richard Hansen
d81546ad7b checkPlugin: Delete Travis badge from README.md template 2021-12-11 02:01:35 -05:00
Richard Hansen
2c05de7033 checkPlugin: Update ESLint dependencies 2021-12-11 02:01:35 -05:00
Richard Hansen
3563fc1df9 checkPlugin: Relax repo checks 2021-12-11 02:01:35 -05:00
Richard Hansen
4716975c37 checkPlugin: Do case-sensitive filename checks 2021-12-11 02:01:35 -05:00
Richard Hansen
9a85bce212 checkPlugin: Only consider README{,.md} (case-insensitive)
This avoids false positives such as `README-foo.md`.
2021-12-11 02:01:35 -05:00
Richard Hansen
753d16af8a checkPlugin: Promisify file system accesses 2021-12-11 02:01:35 -05:00
Richard Hansen
b50c6d07d4 checkPlugin: Improve readability of files assignment 2021-12-11 02:01:35 -05:00
Richard Hansen
b546867adb checkPlugin: Replace .indexOf() with .includes() 2021-12-11 02:01:35 -05:00
Richard Hansen
34a4a74634 checkPlugin: Change autocommit to not push 2021-12-11 02:01:35 -05:00
Richard Hansen
48222449b5 checkPlugin: Add frontend-tests.yml GitHub workflow 2021-12-11 02:01:35 -05:00
Richard Hansen
51c530a3a0 checkPlugin: Compare entire file 2021-12-11 02:01:34 -05:00
Richard Hansen
f0669a8d31 checkPlugin: Automatically determine plugin name in backend-tests.yml 2021-12-11 02:01:34 -05:00
Richard Hansen
314b67b7fe checkPlugin: Improve eslintConfig, funding, scripts checking 2021-12-11 02:01:34 -05:00
Richard Hansen
b7dce95802 checkPlugin: Use updateDeps to manage engine 2021-12-10 14:44:02 -05:00
Richard Hansen
f0ab112c2d checkPlugin: Factor out duplicate file update logic and simplify 2021-12-10 14:44:02 -05:00
Richard Hansen
b7de4faf42 checkPlugin: Don't bump version if there are no changes 2021-12-10 14:44:01 -05:00
Richard Hansen
7c870f8a58 Pad: Add strict validation checks 2021-11-28 22:28:55 -05:00
Richard Hansen
6e19d888d3 docs: Check in src/bin/doc/package-lock.json
Looks like this was accidentally deleted in commit
4a65acf417.
2021-11-20 01:09:50 -05:00
Richard Hansen
085bc8cbb3 plugins: Don't create .ep_initialized files
These files cause problems with Docker images and read-only
directories/mounts, and they have dubious value (any install-time
setup should instead be done at startup).
2021-11-13 17:43:33 -05:00
Hossein
0e311184cf fix: change directory to etherpad root 2021-09-28 19:01:19 -04:00
Richard Hansen
4a09000ca6 installDeps.sh: Don't nuke src/node_modules on error
Rationale:
  * Clearing out `src/node_modules` is unlikely to bring future
    success.
  * If there is an error, it's better to leave the filesystem alone so
    that the user can investigate the cause.
  * Deleting the directory on error is a surprising behavior.
2021-09-05 19:42:29 -04:00
Richard Hansen
2ba85dba0e installDeps.sh: Handle errors 2021-09-05 19:36:05 -04:00
Richard Hansen
258b8366e2 installDeps.sh: Ensure that ep_etherpad-lite is a directory 2021-09-05 19:31:06 -04:00
Richard Hansen
cf7cf8be69 installDeps.sh: Quote underquoted expansions 2021-09-05 19:28:58 -04:00
Richard Hansen
8b89cb3f6f installDeps.sh: Wrap long lines 2021-09-05 19:24:17 -04:00
Richard Hansen
42e59ff2cd installDeps.sh: Simplify log message 2021-09-05 19:23:01 -04:00
Richard Hansen
7bdd0f2f09 bin/updatePlugins.sh: Many refinements
* cd to top-level Etherpad directory is now more robust.
  * Only attempt to update packages whose names begin with `ep_`.
  * Don't create `package-lock.json`.
  * Improve logging.
  * Improve error handling.
2021-06-18 04:34:37 -04:00
Richard Hansen
4b3e47bd23 bin/importSqlFile.js: Read the file one line at a time
This avoids running out of memory if the file is large.
2021-06-17 19:45:17 -04:00
Richard Hansen
7ca336c28e lint: Update eslint-config-etherpad and friends 2021-06-14 23:17:17 +02:00
Richard Hansen
ef1ba21104 deps: Drop support for Node.js < 12.13.0 2021-06-14 23:17:17 +02:00
Richard Hansen
6f2f20233f lint: Fix straightforward ESLint errors 2021-05-12 11:26:35 +02:00
Richard Hansen
59c03bde20 lint: Re-run eslint --fix 2021-05-12 11:26:35 +02:00
Mikk Andresen
af19a010c5 DOCS: Fix broken links in TOC - use Marked to generate ID slugs instead of local implementation that was giving out different IDs in some cases - https://github.com/citizenos/citizenos-fe/issues/535 2021-04-06 21:42:01 +02:00
Richard Hansen
d2610284ad bin/safeRun.sh: Fix try: not found bug
This fixes a copy+paste bug introduced in commit
8b28e00784 (v1.8.8).
2021-03-10 02:54:20 -05:00
John McLear
b3d7f5d63e pluginTools: stalePlugins.js
Outputs a list of pluginnames and email address for maintainers to contact.  Useful for me to bump folks to maintain there stuff and stop it getting stale :)
2021-02-28 16:05:53 +00:00
John McLear
4a65acf417
docs: fix links from TOC to Headings and improve appearance of docs (a little) (#4866)
* docs: fix links from TOC to Headings
* docs: Styling

Just a little modernisation of the appearance of the documentation

* Update src/bin/doc/package.json

Co-authored-by: Richard Hansen <rhansen@rhansen.org>

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-02-25 09:01:45 +00:00
Richard Hansen
b2ffd8c95c lint: Update ESLint dependencies 2021-02-24 09:07:24 +00:00
Richard Hansen
6198e92706 tests: Pass --legacy-peer-deps flag to work around npm v7 bug
This flag is unknown to npm v6, but npm v6 silently ignores unknown
flags.
2021-02-22 03:36:12 -05:00
John McLear
2c763fb4d1 Delete dirty-db-cleaner.py 2021-02-21 18:07:20 +00:00
Richard Hansen
6163339c0d plugins: Always install plugins with --no-save
The npm CLI can get confused if `package.json` or `package-lock.json`
exist.
2021-02-18 19:18:59 +00:00
John McLear
29f2cd34f0 build: fix build path for windows 2021-02-17 20:38:10 +00:00
Richard Hansen
8ef0860e8b
tests: Restore runnerBackend.sh (#4803)
* tests: Restore `runnerBackend.sh`

`runnerBackend.sh` was deleted in commit
7dae5e3db8 but plugins still need it
until their GitHub workflow definitions have been updated.

Co-authored-by: John McLear <john@mclear.co.uk>
2021-02-17 04:35:57 -05:00
Richard Hansen
7dae5e3db8 tests: Use the supertest agent from common.js for backend tests 2021-02-16 21:13:35 -05:00
snyk-bot
b06e47c06e fix: src/bin/doc/package.json & src/bin/doc/package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-MARKED-584281
2021-02-16 11:10:46 +00:00
Richard Hansen
72704a9fbd release: Update the doc/latest symlink 2021-02-16 10:37:07 +00:00
Richard Hansen
345f5227fd release: Use log4js to improve message readability 2021-02-16 10:37:07 +00:00
Richard Hansen
899f2e02f3 release: Reset Git repo on error 2021-02-16 10:37:07 +00:00
Richard Hansen
ba32f71f30 release: Automate more steps 2021-02-16 10:37:07 +00:00
Richard Hansen
18c8838a33 release: Stricter checking of CHANGELOG.md 2021-02-16 10:37:07 +00:00
Richard Hansen
5c48ebb406 release: Fix wrapping of log message 2021-02-16 10:37:07 +00:00
Richard Hansen
5816fd5f2f release: Add git sanity checks 2021-02-16 10:37:07 +00:00
Richard Hansen
a814893ca3 release: Assume ../ether.github.com exists 2021-02-16 10:37:07 +00:00
Richard Hansen
8db6b5da4a release: Don't capture stdout when unnecessary
This should make it easier to troubleshoot issues.
2021-02-16 10:37:07 +00:00
Richard Hansen
83b55eb41f release: Shorthand function for running a command 2021-02-16 10:37:07 +00:00
Richard Hansen
2691d556fe release: Enforce lockfileVersion 1 2021-02-16 10:37:07 +00:00
Richard Hansen
1ada0ab5d6 release: cd to Etherpad root directory 2021-02-16 10:37:07 +00:00
Richard Hansen
565d020876 release: Make sure JSON ends with \n 2021-02-16 10:37:07 +00:00
Richard Hansen
ea4b2ef8fb release: Factor out JSON read/write for later reuse 2021-02-16 10:37:07 +00:00
Richard Hansen
8155d6154d release: Don't create release/x.y.z branch
Patch-specific release branches should never diverge from the tag, so
they serve no useful purpose. (If they do diverge, which some did
before I deleted them all, what does it mean? Are we going to move the
tag in the future? It's just too confusing.)

In the future we might want to do major- or minor-specific
branches (e.g., `release/1` or `release/1.8`), but only if we want to
maintain old releases. For example, if 2.0 is a major release that
doesn't work with plugins designed for 1.x we might want to maintain a
`release/1` branch that continues to get bugfixes while the bulk of
new work continues to land on `develop`. If we do decide to maintain
old releases we'll need a new set of release scripts (or edit the
`release.js` script on the `release/1` branch).
2021-02-16 10:37:07 +00:00
John McLear
e1dcaa5210 release: Better steps for release procedure 2021-02-16 10:37:07 +00:00
John McLear
655ae90464 release: Exclude var/ during Windows build 2021-02-16 10:37:07 +00:00
Richard Hansen
d5969507cd release: Clone docs repo in .. 2021-02-16 10:37:07 +00:00
Richard Hansen
bdd32f8915 Replace node_modules/ep_etherpad-lite with src 2021-02-16 10:35:05 +00:00
John McLear
e22d8dffc0 deps: use ci --no-optional flags, this might break some things as it requires npm 6.31.4 2021-02-13 10:01:36 +00:00
John McLear
94a65062c7
checkPlugins: remove lib/travis.yml and add github badges if they aren't present (#4731)
A future PR should remove all Travis badges and CI jobs.
2021-02-09 09:41:41 +00:00
John McLear
865a463154 fix: release script output 2021-02-07 19:28:00 +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