| Commit message (Expand) | Author | Files | Lines |
| 2024-02-24 | Normalize how modules import and name each other•••Also add a `defaultInterceptors` variable in `src/hero.mjs` to avoid
needing to redefine it in every application.
| EuAndreh | 17 | -90/+92 |
| 2024-02-23 | src/hero.mjs: Add buildServer() | EuAndreh | 7 | -144/+322 |
| 2024-02-23 | Implement accretion.runMigrations() and wrappings of node-sqlite3 | EuAndreh | 8 | -40/+296 |
| 2024-02-23 | Big cleanup•••- delete all SQLite Node-API code: we'll use the C++ one instead;
- implement hero.mjs, with tests!
- use ESM all over.
| EuAndreh | 26 | -292/+1696 |
| 2024-02-21 | Remove C code and cleanup repository | EuAndreh | 29 | -2771/+21 |
| 2023-11-27 | Makefile: Include SQL migration files as installable artifacts | EuAndreh | 3 | -1/+16 |
| 2023-11-27 | Makefile: Also recompile `src/napi-sqlite.lo` when Makefile changes | EuAndreh | 1 | -0/+1 |
| 2023-11-27 | Makefile: Fix missing installation of the `napi-sqlite.{c,node}` source and ... | EuAndreh | 1 | -1/+2 |
| 2023-11-27 | Makefile: Fix missing installation of the `src/cli` executable•••The `$PREFIX/bin/papo` was being installed as a symlink, but the target
was empty.
| EuAndreh | 1 | -1/+1 |
| 2023-11-27 | tests/js/db.js: Disable test for incomplete code | EuAndreh | 1 | -1/+1 |
| 2023-11-27 | src/db.js: Inline fallback definition of $PAPO_DB_PATH | EuAndreh | 2 | -4/+1 |
| 2023-11-25 | src/config.h.in: Add provenance links and explanation for _XOPEN_SOURCE and _... | EuAndreh | 1 | -1/+20 |
| 2023-11-25 | Makefile: Erase $(JSLIBDIR) together with $(SRCDIR) | EuAndreh | 1 | -1/+1 |
| 2023-11-25 | Makefile: Compose $(CFLAGS.a) with $(CFLAGS) instead of combine•••Instead of defining a toplevel $(CFLAGS.a) that includes everything from
$(CFLAGS) plus whatever is statically defined in the Makefile, we now
use both $(CFLAGS) and $(CFLAGS.a) together, and we define neither. Now
one can keep a single usage of $(CFLAGS), and override $(CFLAGS.a) when
desired.
Where previously, in order to give a flag only to $(CFLAGS.a), one had
to write:
$ make CFLAGS.a="$CFLAGS --.a-only"
Now can be done via:
$ make CFLAGS.a="--.a-only"
IOW, previously $(CFLAGS.so) was "everything you gave to $(CFLAGS), plus
this extra -fPIC" what now is "override $(CFLAGS), $(CFLAGS.a) or
$(CFLAGS.so) as you wish".
The same is true for $(LDLIBS), $(LDLIBS.a) and $(LDLIBS.so).
| EuAndreh | 1 | -11/+8 |
| 2023-11-17 | src/napi-sqlite.c: Improve error handling | EuAndreh | 4 | -134/+223 |
| 2023-11-16 | tests/runner.js: Replace hand-rolled assert with "node:assert" module | EuAndreh | 2 | -56/+45 |
| 2023-11-16 | Add WIP non-async functions to napi-sqlite.c | EuAndreh | 9 | -101/+833 |
| 2023-11-15 | Makefile, mkdeps.sh: Enforce JS->native dependency•••Assert that we'll always have the `src/napi-sqlite.node` binary ready
by the time we get to any JavaScript file.
| EuAndreh | 3 | -0/+9 |
| 2023-11-15 | TODOs.md: Add relevant quote on software correctness and discipline | EuAndreh | 1 | -0/+15 |
| 2023-11-15 | mv src/cli src/cli.js | EuAndreh | 2 | -3/+4 |
| 2023-11-15 | Add support for multi-file C project•••- have dynamic discovered dependencies via `mkdeps.hs`, and also move
the listing of JavaScript files to it.
- copy over stub C files for setting up the project skeleton.
| EuAndreh | 25 | -96/+1831 |
| 2023-11-13 | src/napi-sqlite.c: Add Node-API PoC | EuAndreh | 3 | -2/+75 |
| 2023-11-13 | tests/assert-*.sh: Reuse rebuilt assets for tests | EuAndreh | 4 | -22/+7 |
| 2023-11-13 | tests/assert-*.sh: Allow tests to run independently from "all" and from each ... | EuAndreh | 4 | -16/+34 |
| 2023-11-13 | tests/assert-uninstall.sh: Split from assert-install.sh | EuAndreh | 3 | -17/+28 |
| 2023-11-13 | Makefile: Clean directory symlink potential leftover before recreating | EuAndreh | 1 | -0/+1 |
| 2023-11-12 | tests/assert-*.sh: Normalize output using yellow and green colors | EuAndreh | 4 | -10/+26 |
| 2023-11-11 | src/{ircd,web}.js: Init stub servers | EuAndreh | 8 | -11/+110 |
| 2023-11-10 | TODOs.md: Add #td-d27aca11-9449-bb0e-08cb-2a8ef9778a11 | EuAndreh | 1 | -0/+11 |
| 2023-11-10 | TODOs.md: Add "Relevant links" section | EuAndreh | 1 | -0/+34 |
| 2023-11-10 | .gitignore: Exclude the generated .3js file | EuAndreh | 1 | -0/+1 |
| 2023-11-10 | tests/js/: Run the files directly•••Instead of dynamically `import()`ing them in `tests/runner.js`, make
each test file instead load `tests/runner.js` and run its own tests.
| EuAndreh | 3 | -17/+11 |
| 2023-11-10 | tests/js/utils.js: Remove test on "new Date()" objects | EuAndreh | 1 | -8/+0 |
| 2023-11-10 | src/utils.js: 💅 add extra newline separation | EuAndreh | 1 | -0/+1 |
| 2023-11-10 | tests/js/server/web.js: Remove unused file | EuAndreh | 1 | -12/+0 |
| 2023-11-10 | tests/js/compat.js: Remove unused file | EuAndreh | 2 | -18/+0 |
| 2023-11-10 | Makefile: Remove $(JSIMPL) variable | EuAndreh | 1 | -4/+3 |
| 2023-11-10 | tests/assert-*: Use standartized STDERR message format | EuAndreh | 2 | -3/+5 |
| 2023-11-10 | tests/assert-clean.sh: Enforce correctness of "make clean" | EuAndreh | 2 | -0/+48 |
| 2023-11-10 | tests/assert-install.sh: Fix progress report string | EuAndreh | 1 | -1/+1 |
| 2023-11-10 | tools/makehelp.sh: Fix path to lib.sh | EuAndreh | 1 | -1/+1 |
| 2023-11-10 | Makefile: s/LIST/MAILING_LIST/ | EuAndreh | 1 | -6/+6 |
| 2023-11-10 | Makefile: Install code under $(SRCDIR)•••So that later the package manager can run ctags on it and make them
available for the user.
| EuAndreh | 1 | -0/+9 |
| 2023-11-10 | aux/: Add basic Guix container support | EuAndreh | 2 | -0/+11 |
| 2023-11-10 | tests/assert-install.sh: Always to enforce correct installation•••Also in this change:
- now we call ln(1) in the "install" target without using the -r
"relative" flag, as it isn't POSIX;
- add `+` as a prefix to the "assert-tests" command, so we tell sub-make
calls to also run things in parallel. In this case, the
"make DESTDIR=... install" calls;
- use the implicit `index.js` entrypoint and do away completly with
`package.json`;
- change from `import` to `require` as Node.js ESM modules don't support
`$NODE_PATH`[0]: "NODE_PATH is not part of resolving import
specifiers. Please use symlinks if this behavior is desired." 🤦;
The parallel sub-make behaviour isn't available in current specification
of make (POSIX issue 7) but is included in the upcoming[1] version 8:
> If a rule invokes a sub-make either via the MAKE macro or via a
> command line that begins with '+', the sub-make is the same
> implementation as the make that invoked the sub-make, and the −j
> option is passed to the sub-make via the MAKEFLAGS environment
> variable with the same maxjobs value and is not overridden by a
> maxjobs value from another source (even if it has the same value), the
> sub-make shall use the same token pool as its invoking make rather
> than create a new token pool.
[0]: https://nodejs.org/api/esm.html#no-node_path
[1]: https://www.opengroup.org/austin/restricted/202x-d3/202x_d3.pdf
| EuAndreh | 11 | -18/+120 |
| 2023-11-09 | tests/assert-deps.sh: Enforce Makefile is always up-to-date | EuAndreh | 2 | -7/+46 |
| 2023-11-09 | Setup correct project install and uninstall | EuAndreh | 4 | -3/+14 |
| 2023-11-09 | Refine description and long-description•••- description: make "Modern" the first word;
- long-description: emphasize the simplicity to encourage self-hosters
to try it.
| EuAndreh | 2 | -1/+4 |
| 2023-11-09 | TODOs.md: Add #td-faf15e3f-4a57-a99e-55c6-53ffd7448962 | EuAndreh | 1 | -0/+14 |
| 2023-11-09 | TODOs.md: Add #td-ed5d15f4-ec30-7411-fa74-552a06569c91 | EuAndreh | 1 | -0/+7 |