@wizzlethorpe/vaults 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/foundry-importer.js
CHANGED
|
@@ -9,11 +9,15 @@
|
|
|
9
9
|
// which isn't part of the npm package.
|
|
10
10
|
import { createHash } from "node:crypto";
|
|
11
11
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
12
|
-
import { dirname, join } from "node:path";
|
|
12
|
+
import { basename, dirname, join } from "node:path";
|
|
13
13
|
import { fileURLToPath } from "node:url";
|
|
14
14
|
import { CLI_VERSION } from "./version.js";
|
|
15
|
-
//
|
|
16
|
-
|
|
15
|
+
// scripts/bundle-importer.mjs always emits the bundle into dist/. This module
|
|
16
|
+
// runs from dist/ once published, but from src/ under tsx (tests) — resolve to
|
|
17
|
+
// dist/ either way.
|
|
18
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
19
|
+
const distDir = basename(here) === "src" ? join(here, "..", "dist") : here;
|
|
20
|
+
const BUNDLE_PATH = join(distDir, "foundry-importer.bundle.js");
|
|
17
21
|
/**
|
|
18
22
|
* Write `_foundry/importer.js` + `_foundry/version.json` into the deploy.
|
|
19
23
|
* Called from build.ts after the variant outputs are in place — the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundry-importer.js","sourceRoot":"","sources":["../src/foundry-importer.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,uCAAuC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"foundry-importer.js","sourceRoot":"","sources":["../src/foundry-importer.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,uCAAuC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,8EAA8E;AAC9E,+EAA+E;AAC/E,oBAAoB;AACpB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,SAAS,CACb,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EACzB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
// Migration: copy legacy auth fields out of settings.md frontmatter into
|
|
2
|
-
// the CLI-managed config (formerly .vaultrc.json, now .vaults/config.json).
|
|
3
|
-
//
|
|
4
|
-
// Earlier versions stored `roles`, `auth_type`, and `role_passwords` in
|
|
5
|
-
// settings.md. The settings canonicaliser strips unknown keys, so if we
|
|
6
|
-
// don't lift them out before settings.md is rewritten, they're silently
|
|
7
|
-
// dropped. This migration copies anything we still see in settings.md
|
|
8
|
-
// over to the config — but only when the destination is empty / default,
|
|
9
|
-
// so re-running on an already-migrated vault is a no-op.
|
|
10
|
-
//
|
|
11
|
-
// This was previously inline in build.ts as migrateLegacyAuthFromSettings();
|
|
12
|
-
// moved here so all migrations live in one registry.
|
|
13
|
-
import { readFile } from "node:fs/promises";
|
|
14
|
-
import { join } from "node:path";
|
|
15
|
-
import matter from "gray-matter";
|
|
16
|
-
import { loadConfig, saveConfig } from "../config.js";
|
|
17
|
-
import { SETTINGS_FILE } from "../paths.js";
|
|
18
|
-
export const legacyAuthSettingsMigration = {
|
|
19
|
-
id: "0.6-legacy-auth-settings",
|
|
20
|
-
description: "settings.md roles/auth_type/role_passwords → CLI-managed config",
|
|
21
|
-
async needs(vaultPath) {
|
|
22
|
-
const fm = await readSettingsFrontmatter(vaultPath);
|
|
23
|
-
if (!fm)
|
|
24
|
-
return false;
|
|
25
|
-
if (!hasAnyLegacyKey(fm))
|
|
26
|
-
return false;
|
|
27
|
-
const cfg = await loadConfig(vaultPath, {});
|
|
28
|
-
return liftLegacyAuth(fm, cfg, { dryRun: true }).length > 0;
|
|
29
|
-
},
|
|
30
|
-
async apply(vaultPath) {
|
|
31
|
-
const fm = await readSettingsFrontmatter(vaultPath);
|
|
32
|
-
if (!fm)
|
|
33
|
-
return;
|
|
34
|
-
const cfg = await loadConfig(vaultPath, {});
|
|
35
|
-
const moved = liftLegacyAuth(fm, cfg, { dryRun: false });
|
|
36
|
-
if (moved.length === 0)
|
|
37
|
-
return;
|
|
38
|
-
await saveConfig(vaultPath, cfg);
|
|
39
|
-
console.log(` moved ${moved.join(", ")} from settings.md → config`);
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
async function readSettingsFrontmatter(vaultPath) {
|
|
43
|
-
try {
|
|
44
|
-
const raw = await readFile(join(vaultPath, SETTINGS_FILE), "utf8");
|
|
45
|
-
return (matter(raw).data ?? {});
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function hasAnyLegacyKey(fm) {
|
|
52
|
-
return "roles" in fm || "auth_type" in fm || "role_passwords" in fm;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Single source of truth for which legacy fields qualify for lift, what
|
|
56
|
-
* they get moved to, and (when `dryRun=false`) the actual mutation.
|
|
57
|
-
*
|
|
58
|
-
* Returns the names of fields that qualified (= would move when not a dry
|
|
59
|
-
* run). `needs()` runs this dry; `apply()` runs it for real.
|
|
60
|
-
*/
|
|
61
|
-
function liftLegacyAuth(fm, cfg, opts) {
|
|
62
|
-
const moved = [];
|
|
63
|
-
if (Array.isArray(fm.roles)) {
|
|
64
|
-
const list = fm.roles.filter((r) => typeof r === "string");
|
|
65
|
-
const isDefault = cfg.roles.length === 0 || (cfg.roles.length === 1 && cfg.roles[0] === "public");
|
|
66
|
-
if (list.length > 0 && isDefault && !arraysEqual(list, ["public"])) {
|
|
67
|
-
if (!opts.dryRun)
|
|
68
|
-
cfg.roles = list;
|
|
69
|
-
moved.push("roles");
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// `auth_type` was a forward-looking knob (password vs cloudflare-access vs
|
|
73
|
-
// oauth-jwt) that nothing has ever read. The field was removed from
|
|
74
|
-
// VaultConfig; lifting it would be a no-op, so we don't bother.
|
|
75
|
-
if (fm.role_passwords && typeof fm.role_passwords === "object" && !Array.isArray(fm.role_passwords)
|
|
76
|
-
&& Object.keys(cfg.rolePasswords).length === 0) {
|
|
77
|
-
const cleaned = filterStringValues(fm.role_passwords);
|
|
78
|
-
if (Object.keys(cleaned).length > 0) {
|
|
79
|
-
if (!opts.dryRun)
|
|
80
|
-
cfg.rolePasswords = cleaned;
|
|
81
|
-
moved.push("role_passwords");
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return moved;
|
|
85
|
-
}
|
|
86
|
-
function filterStringValues(map) {
|
|
87
|
-
const out = {};
|
|
88
|
-
for (const [k, v] of Object.entries(map))
|
|
89
|
-
if (typeof v === "string")
|
|
90
|
-
out[k] = v;
|
|
91
|
-
return out;
|
|
92
|
-
}
|
|
93
|
-
function arraysEqual(a, b) {
|
|
94
|
-
return a.length === b.length && a.every((x, i) => x === b[i]);
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=0.6-legacy-auth-settings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"0.6-legacy-auth-settings.js","sourceRoot":"","sources":["../../src/migrate/0.6-legacy-auth-settings.ts"],"names":[],"mappings":"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"}
|