summary refs log tree commit diff
path: root/nixos/modules/services/web-apps/wiki-js.nix
Commit message (Collapse)AuthorAge
* wiki-js: use nodejs18Maximilian Bosch2023-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* nodejs*: normalise names to better fit other packagesSandro Jäckel2023-04-25
| | | | | Versioned package attributes are usually named like $pname_$version eg: nodejs-14_x -> nodejs_14
* nixos/wiki-js: Add git and openssh to enable git backups.Tom Jankauski2023-01-16
|
* nixos: fix typosfigsoda2022-12-17
|
* nixos/wiki-js: pin nodejs to v16Maximilian Bosch2022-09-17
| | | | v18 is not supported, see https://docs.requarks.io/install/requirements#nodejs
* nixos/*: convert straggler options to MDpennae2022-08-31
|
* nixos/*: automatically convert option descriptionspennae2022-08-31
| | | | | | | | | | | | conversions were done using https://github.com/pennae/nix-doc-munge using (probably) rev f34e145 running nix-doc-munge nixos/**/*.nix nix-doc-munge --import nixos/**/*.nix the tool ensures that only changes that could affect the generated manual *but don't* are committed, other changes require manual review and are discarded.
* nixos/*: md-convert options with unordered listspennae2022-08-31
| | | | | | mostly no rendering changes. some lists (like simplelist) don't have an exact translation to markdown, so we use a comma-separated list of literals instead.
* nixos/*: automatically convert option docspennae2022-08-19
|
* nixos/*: normalize <package> to <literal>pennae2022-08-19
| | | | | | | this renders the same in the manpage and a little more clearly in the html manual. in the manpage there continues to be no distinction from regular text, the html manual gets code-type markup (which was probably the intention for most of these uses anyway).
* nixos/*: normalize link formatpennae2022-08-03
| | | | | | | | | make (almost) all links appear on only a single line, with no unnecessary whitespace, using double quotes for attributes. this lets us automatically convert them to markdown easily. the few remaining links are extremely long link in a gnome module, we'll come back to those at a later date.
* treewide: automatically md-convert option descriptionspennae2022-07-30
| | | | | | | | | | | | | | | | | | | | | | the conversion procedure is simple: - find all things that look like options, ie calls to either `mkOption` or `lib.mkOption` that take an attrset. remember the attrset as the option - for all options, find a `description` attribute who's value is not a call to `mdDoc` or `lib.mdDoc` - textually convert the entire value of the attribute to MD with a few simple regexes (the set from mdize-module.sh) - if the change produced a change in the manual output, discard - if the change kept the manual unchanged, add some text to the description to make sure we've actually found an option. if the manual changes this time, keep the converted description this procedure converts 80% of nixos options to markdown. around 2000 options remain to be inspected, but most of those fail the "does not change the manual output check": currently the MD conversion process does not faithfully convert docbook tags like <code> and <package>, so any option using such tags will not be converted at all.
* wiki-js: init at 2.5.191Maximilian Bosch2021-03-20