summaryrefslogtreecommitdiff
path: root/src/sql (unfollow)
Commit message (Expand)AuthorFilesLines
2024-02-24Normalize 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. EuAndreh17-90/+92
2024-02-23src/hero.mjs: Add buildServer()EuAndreh7-144/+322
2024-02-23Implement accretion.runMigrations() and wrappings of node-sqlite3EuAndreh8-40/+296
2024-02-23Big cleanup•••- delete all SQLite Node-API code: we'll use the C++ one instead; - implement hero.mjs, with tests! - use ESM all over. EuAndreh26-292/+1696
2024-02-21Remove C code and cleanup repositoryEuAndreh29-2771/+21
2023-11-27Makefile: Include SQL migration files as installable artifactsEuAndreh3-1/+16
2023-11-27Makefile: Also recompile `src/napi-sqlite.lo` when Makefile changesEuAndreh1-0/+1
2023-11-27Makefile: Fix missing installation of the `napi-sqlite.{c,node}` source and ...EuAndreh1-1/+2
2023-11-27Makefile: Fix missing installation of the `src/cli` executable•••The `$PREFIX/bin/papo` was being installed as a symlink, but the target was empty. EuAndreh1-1/+1
2023-11-27tests/js/db.js: Disable test for incomplete codeEuAndreh1-1/+1
2023-11-27src/db.js: Inline fallback definition of $PAPO_DB_PATHEuAndreh2-4/+1
2023-11-25src/config.h.in: Add provenance links and explanation for _XOPEN_SOURCE and _...EuAndreh1-1/+20
2023-11-25Makefile: Erase $(JSLIBDIR) together with $(SRCDIR)EuAndreh1-1/+1
2023-11-25Makefile: 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). EuAndreh1-11/+8
2023-11-17src/napi-sqlite.c: Improve error handlingEuAndreh4-134/+223
2023-11-16tests/runner.js: Replace hand-rolled assert with "node:assert" moduleEuAndreh2-56/+45
2023-11-16Add WIP non-async functions to napi-sqlite.cEuAndreh9-101/+833
2023-11-15Makefile, 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. EuAndreh3-0/+9
2023-11-15TODOs.md: Add relevant quote on software correctness and disciplineEuAndreh1-0/+15
2023-11-15mv src/cli src/cli.jsEuAndreh2-3/+4
2023-11-15Add 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. EuAndreh25-96/+1831
2023-11-13src/napi-sqlite.c: Add Node-API PoCEuAndreh3-2/+75
2023-11-13tests/assert-*.sh: Reuse rebuilt assets for testsEuAndreh4-22/+7
2023-11-13tests/assert-*.sh: Allow tests to run independently from "all" and from each ...EuAndreh4-16/+34
2023-11-13tests/assert-uninstall.sh: Split from assert-install.shEuAndreh3-17/+28
2023-11-13Makefile: Clean directory symlink potential leftover before recreatingEuAndreh1-0/+1
2023-11-12tests/assert-*.sh: Normalize output using yellow and green colorsEuAndreh4-10/+26
2023-11-11src/{ircd,web}.js: Init stub serversEuAndreh8-11/+110
2023-11-10TODOs.md: Add #td-d27aca11-9449-bb0e-08cb-2a8ef9778a11EuAndreh1-0/+11
2023-11-10TODOs.md: Add "Relevant links" sectionEuAndreh1-0/+34
2023-11-10.gitignore: Exclude the generated .3js fileEuAndreh1-0/+1
2023-11-10tests/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. EuAndreh3-17/+11
2023-11-10tests/js/utils.js: Remove test on "new Date()" objectsEuAndreh1-8/+0
2023-11-10src/utils.js: 💅 add extra newline separationEuAndreh1-0/+1
2023-11-10tests/js/server/web.js: Remove unused fileEuAndreh1-12/+0
2023-11-10tests/js/compat.js: Remove unused fileEuAndreh2-18/+0
2023-11-10Makefile: Remove $(JSIMPL) variableEuAndreh1-4/+3
2023-11-10tests/assert-*: Use standartized STDERR message formatEuAndreh2-3/+5
2023-11-10tests/assert-clean.sh: Enforce correctness of "make clean"EuAndreh2-0/+48
2023-11-10tests/assert-install.sh: Fix progress report stringEuAndreh1-1/+1
2023-11-10tools/makehelp.sh: Fix path to lib.shEuAndreh1-1/+1
2023-11-10Makefile: s/LIST/MAILING_LIST/EuAndreh1-6/+6
2023-11-10Makefile: Install code under $(SRCDIR)•••So that later the package manager can run ctags on it and make them available for the user. EuAndreh1-0/+9
2023-11-10aux/: Add basic Guix container supportEuAndreh2-0/+11
2023-11-10tests/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 EuAndreh11-18/+120
2023-11-09tests/assert-deps.sh: Enforce Makefile is always up-to-dateEuAndreh2-7/+46
2023-11-09Setup correct project install and uninstallEuAndreh4-3/+14
2023-11-09Refine description and long-description•••- description: make "Modern" the first word; - long-description: emphasize the simplicity to encourage self-hosters to try it. EuAndreh2-1/+4
2023-11-09TODOs.md: Add #td-faf15e3f-4a57-a99e-55c6-53ffd7448962EuAndreh1-0/+14
2023-11-09TODOs.md: Add #td-ed5d15f4-ec30-7411-fa74-552a06569c91EuAndreh1-0/+7