mirror of
https://git.pumpin.online/funkpower/typikon.git
synced 2026-10-22 18:57:13 +00:00
There is one engine and nine doors into it, and nothing until now checked that the doors agree. CI tested each binding against itself: the Python wheel imported, the C demo compiled, the npm package type-checked. None of that would have caught a field that crosses one boundary wrong, which is the failure this library is most exposed to, because a wrong answer about a fast day looks exactly like a right one. So: twelve days, chosen where the bindings could plausibly differ, and all twenty-two fields compared against what the command line says. The days are Pascha itself, the Nativity on both calendars, a Wednesday of the Great Fast under Byzantine Catholic law and again at the Typikon, a weekday of the Nativity Fast where Greek and Slavic usage part, the one Orthodox church on the Gregorian Paschalion, and a day with no feast. A release now runs what a push runs. It had been gated on cargo test alone, so the C ABI, the Lua binding, the Python parity check and the README examples were checked on the branch that led to a release and not on the release. Neither registry will reuse a version, so the gate belongs before the upload. Writing it found three things. The npm exports map did not expose the wasm by package path, so a bundler asked for typikon/web/typikon_bg.wasm was told no such path exists and had to reach into node_modules; the documented init() call was never affected. The suite could hang instead of fail, because the test web server was backgrounded inside a subshell and killed by job spec, leaving bash in do_wait forever. And pointing XDG_CONFIG_HOME at a path that does not exist isolates typikon and breaks every other program that keeps state under it, a browser included. A surface whose toolchain is missing is named as skipped, and fewer than three surfaces running is a failure rather than a pass, so a container with nothing installed cannot come out green.
52 lines
1.1 KiB
Plaintext
52 lines
1.1 KiB
Plaintext
{
|
|
"name": "typikon",
|
|
"version": "@VERSION@",
|
|
"description": "The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched",
|
|
"license": "GPL-2.0-only",
|
|
"homepage": "https://git.pumpin.online/funkpower/typikon",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://git.pumpin.online/funkpower/typikon.git"
|
|
},
|
|
"keywords": [
|
|
"orthodox",
|
|
"liturgical",
|
|
"calendar",
|
|
"byzantine",
|
|
"pascha",
|
|
"fasting",
|
|
"wasm"
|
|
],
|
|
"type": "module",
|
|
"types": "./web/typikon.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"node": {
|
|
"types": "./node/typikon.d.ts",
|
|
"default": "./node/typikon.js"
|
|
},
|
|
"default": {
|
|
"types": "./web/typikon.d.ts",
|
|
"default": "./web/typikon.js"
|
|
}
|
|
},
|
|
"./node": {
|
|
"types": "./node/typikon.d.ts",
|
|
"default": "./node/typikon.js"
|
|
},
|
|
"./web": {
|
|
"types": "./web/typikon.d.ts",
|
|
"default": "./web/typikon.js"
|
|
},
|
|
"./node/*": "./node/*",
|
|
"./web/*": "./web/*",
|
|
"./package.json": "./package.json"
|
|
},
|
|
"files": [
|
|
"node/",
|
|
"web/",
|
|
"README.md",
|
|
"LICENSE"
|
|
]
|
|
}
|