nixpkgs/pkgs/servers/web-apps
Maximilian Bosch 577ffe768c
wiki-js: use nodejs18
Part of #229910.

Unfortunately this is a little hacky because upstream doesn't intend to
support it for 2.5, but only for 3.0 which isn't out yet, however nodejs-16
will get out of maintenance during the support-span of NixOS 23.05[1].

The only breaking change is that `extract-files` uses a deprecated way
of exposing modules, I went through the list of other breaking
changes in v17 and v18[2][3] and couldn't spot any usage of removed
features, also local testing didn't reveal further issues.

Unfortunately fixing that breakage turned out to be non-trivial.
Currently, `extract-files@9.0.0` is used with the problematic portions
in its `package.json`, however it's only a transitive dependency of
`@graphql-tools/url-loader` & `apollo-upload-client`. Unfortunately, the
versions of that in use require v9 and don't work with a newer version of
`extract-files` with the problem fixed[4]. Also, upgrading the
dependencies in question is not a feasible option because `graphql-tools`
was split up into multiple smaller packages in v8 and also some of the
APIs in use in `wiki.js` were dropped there[5], so this would also be
very time-consuming and non-trivial to fix.

Since this was the only issue, I decided to go down the hacky route and
patch the problem in `package.json` of `extract-files` manually during
our `patchPhase`.

[1] https://github.com/requarks/wiki/discussions/6388
[2] https://nodejs.org/en/blog/release/v17.0.0
[3] https://nodejs.org/en/blog/release/v18.0.0
[4] Upon local testing, this broke with the following error:

        Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './public/extractFiles' is not defined by "exports" in /wiki/node_modules/extract-files/package.json
[5] For instance `SchemaDirectiveVisitor` in
  `server/graph/directives/auth`.
2023-05-14 14:25:33 +02:00
..
5etools _5etools: Disable hydra builds 2023-03-04 19:44:09 +00:00
bookstack bookstack: 23.01 -> 23.01.1 2023-02-04 17:30:05 +00:00
changedetection-io changedetection-io: 0.39.22.1 -> 0.40.3 2023-03-10 22:49:27 +03:00
discourse dart-sass-embedded: build from source 2023-04-29 12:16:23 -04:00
dokuwiki dokuwiki: 2022-07-31a -> 2023-04-04 2023-04-15 10:41:32 +02:00
dolibarr dolibarr: 16.0.3 -> 16.0.4 2023-02-12 15:53:51 +00:00
engelsystem engelsystem: 3.1.0 -> 3.3.0 2023-03-12 17:08:16 +01:00
ethercalc ethercalc: upgrade from nodejs_14 to nodejs_20 2023-05-10 17:59:39 +02:00
fileshelter
freshrss freshrss: 1.20.2 -> 1.21.0 2023-03-05 16:37:42 +01:00
galene galene: 0.6.1 -> 0.7.0 2023-04-15 08:35:56 +02:00
healthchecks healthchecks: 2.6.1 -> 2.8.1 2023-04-12 19:57:38 +02:00
hedgedoc hedgedoc: 1.9.6 -> 1.9.7, remove inactive maintainer 2023-02-20 00:33:11 +01:00
invoiceplane
jirafeau
jitsi-meet jitsi-meet: 1.0.6644 -> 1.0.6943 2023-02-01 14:47:23 +01:00
kasmweb
kavita nixos/tests/kavita: init 2023-05-06 13:57:53 -03:00
lemmy lemmy: 0.17.1 -> 0.17.2 2023-03-27 21:08:36 -04:00
linx-server
matomo
mediawiki mediawiki: Expose test variants individually 2023-04-04 12:38:31 +02:00
monica monica: init at 4.0.0 2023-04-16 11:24:00 +02:00
moodle moodle: 4.1.1 -> 4.1.2 2023-03-25 14:47:25 +00:00
morty
netbox netbox: 3.4.10 -> 3.5.0 2023-04-29 12:39:32 +02:00
nifi nifi: 1.20.0 -> 1.21.0 2023-05-07 15:20:36 +00:00
outline outline: 0.67.2 -> 0.68.1 2023-03-07 15:25:03 +01:00
peering-manager peering-manager: 1.7.3 -> 1.7.4 2023-01-23 10:55:21 +01:00
pgpkeyserver-lite
phylactery phylactery: remove empty go vendor hash 2023-02-07 06:23:39 +10:00
pict-rs pict-rs: 0.3.0-alpha.37 -> 0.3.3 2023-05-09 15:24:54 -04:00
plausible plausible: mark broken following node-16 deprecation 2023-05-08 17:45:55 -04:00
restya-board
rss-bridge
searx python3Packages.flaskbabel: Drop in favor of flask-babel 2023-01-19 21:43:58 +00:00
searxng searxng: replace maintainer Kranzes with me 2023-02-16 19:42:18 +01:00
selfoss
shaarli shaarli: 0.12.1 -> 0.12.2 2023-04-20 23:28:38 +00:00
shiori shiori: 1.5.3 -> 1.5.4 2023-01-29 09:38:07 +00:00
slskd slskd: init at 0.17.5 2023-05-12 10:14:48 +02:00
snipe-it nixos/tests/snipe-it: init (#180772) 2023-04-26 17:46:15 +02:00
sogo sope: make build less illegal 2023-03-23 21:42:24 +02:00
vikunja vikunja-api: 0.20.3 -> 0.20.4 2023-03-12 14:05:19 +01:00
wallabag wallabag: 2.5.3 -> 2.5.4 2023-02-07 22:27:50 +00:00
whitebophir whitebophir: upgrade from nodejs_16 to nodejs_20 2023-05-10 16:46:37 +02:00
wiki-js wiki-js: use nodejs18 2023-05-14 14:25:33 +02:00
wordpress wordpress: update languages and plugins 2023-05-03 17:40:18 +03:00