Problem: the hexagonal refactor churns the backend tree for nine more phases; the UI delivery stack (web/ SPA, cmd/desktop Wails wrapper, compose/web image) must move to its own repo first so doc/layout rewrites land once on a backend-only tree. Change: - New repo git.hubris.network/dtoro/oikos-web (v0.33.0): web/, desktop/ (updateURL repointed to oikos-web releases), compose/, own CI (web + desktop jobs), own deploy script (CI-green gate, TOCTOU guard, version-tagged images, prune-to-3), own webhook receiver on :9798 + launchd unit, own compose project publishing the same 8091:80. - Cutover executed on mac-mini in order: oikos stack's web service stopped+removed, oikos-web project brought up on 8091; outer Caddy untouched (targets the published port) — serving + Authentik flow + /wails 404 quirk verified post-cutover. - Stripped from oikos: web/, cmd/desktop/, compose/web/, desktop CI workflow, ci.yml web job, Makefile ui/desktop/desktop-package/install targets, the compose web service, oikos-web from deploy.sh's fallback prune list; wails + go-keyring dropped from go.mod, vendor synced. - README / CONTRIBUTING / AGENTS.md / .agents dev+operations docs now point at the new repo; mbse + mascot design docs carry a path note. Risk: production SPA serving depends on the new pipeline now; rollback is versioned-image re-up of the old web service from a pre-split checkout (port 8091). Desktop builds installed before the split still check dtoro/oikos releases — one manual reinstall, noted in the oikos-web release notes. Verification: go vet, make test (race), make generate-check, golangci (no new findings; baseline down 400→365); post-cutover curls — localhost:8091 200, /wails/runtime.js 404, outer Caddy 302 Authentik.
71 lines
1.4 KiB
Markdown
71 lines
1.4 KiB
Markdown
deep-is
|
|
==========
|
|
|
|
Node's `assert.deepEqual() algorithm` as a standalone module. Exactly like
|
|
[deep-equal](https://github.com/substack/node-deep-equal) except for the fact that `deepEqual(NaN, NaN) === true`.
|
|
|
|
This module is around [5 times faster](https://gist.github.com/2790507)
|
|
than wrapping `assert.deepEqual()` in a `try/catch`.
|
|
|
|
[](http://ci.testling.com/thlorenz/deep-is)
|
|
|
|
[](http://travis-ci.org/thlorenz/deep-is)
|
|
|
|
example
|
|
=======
|
|
|
|
``` js
|
|
var equal = require('deep-is');
|
|
console.dir([
|
|
equal(
|
|
{ a : [ 2, 3 ], b : [ 4 ] },
|
|
{ a : [ 2, 3 ], b : [ 4 ] }
|
|
),
|
|
equal(
|
|
{ x : 5, y : [6] },
|
|
{ x : 5, y : 6 }
|
|
)
|
|
]);
|
|
```
|
|
|
|
methods
|
|
=======
|
|
|
|
var deepIs = require('deep-is')
|
|
|
|
deepIs(a, b)
|
|
---------------
|
|
|
|
Compare objects `a` and `b`, returning whether they are equal according to a
|
|
recursive equality algorithm.
|
|
|
|
install
|
|
=======
|
|
|
|
With [npm](http://npmjs.org) do:
|
|
|
|
```
|
|
npm install deep-is
|
|
```
|
|
|
|
test
|
|
====
|
|
|
|
With [npm](http://npmjs.org) do:
|
|
|
|
```
|
|
npm test
|
|
```
|
|
|
|
license
|
|
=======
|
|
|
|
Copyright (c) 2012, 2013 Thorsten Lorenz <thlorenz@gmx.de>
|
|
Copyright (c) 2012 James Halliday <mail@substack.net>
|
|
|
|
Derived largely from node's assert module, which has the copyright statement:
|
|
|
|
Copyright (c) 2009 Thomas Robinson <280north.com>
|
|
|
|
Released under the MIT license, see LICENSE for details.
|