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.
55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
'use strict';
|
|
|
|
function convertOptionToLegacy(processor, verifyOption, config) {
|
|
var _a;
|
|
if (processor == null)
|
|
return verifyOption;
|
|
if (typeof processor === "string") {
|
|
return convertOptionToLegacy(
|
|
findProcessor(processor, config),
|
|
verifyOption,
|
|
config
|
|
);
|
|
}
|
|
const filename = (_a = typeof verifyOption === "string" ? verifyOption : verifyOption == null ? void 0 : verifyOption.filename) != null ? _a : "<input>";
|
|
const preprocess = function(code) {
|
|
var _a2;
|
|
const result = (_a2 = processor.preprocess) == null ? void 0 : _a2.call(processor, code, filename);
|
|
return result ? result : [code];
|
|
};
|
|
const postprocess = function(messages) {
|
|
var _a2;
|
|
const result = (_a2 = processor.postprocess) == null ? void 0 : _a2.call(processor, messages, filename);
|
|
return result ? result : messages[0];
|
|
};
|
|
if (verifyOption == null) {
|
|
return { preprocess, postprocess };
|
|
}
|
|
if (typeof verifyOption === "string") {
|
|
return { filename: verifyOption, preprocess, postprocess };
|
|
}
|
|
return { ...verifyOption, preprocess, postprocess };
|
|
}
|
|
function findProcessor(processor, config) {
|
|
var _a, _b;
|
|
let pluginName, processorName;
|
|
const splitted = processor.split("/")[0];
|
|
if (splitted.length === 2) {
|
|
pluginName = splitted[0];
|
|
processorName = splitted[1];
|
|
} else if (splitted.length === 3 && splitted[0].startsWith("@")) {
|
|
pluginName = `${splitted[0]}/${splitted[1]}`;
|
|
processorName = splitted[2];
|
|
} else {
|
|
throw new Error(`Could not resolve processor: ${processor}`);
|
|
}
|
|
const plugin = (_a = config.plugins) == null ? void 0 : _a[pluginName];
|
|
const resolved = (_b = plugin == null ? void 0 : plugin.processors) == null ? void 0 : _b[processorName];
|
|
if (!resolved) {
|
|
throw new Error(`Could not resolve processor: ${processor}`);
|
|
}
|
|
return resolved;
|
|
}
|
|
|
|
exports.convertOptionToLegacy = convertOptionToLegacy;
|