@fougere/defaults 0.12.2-alpha.0 → 0.12.4-alpha.0
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.
|
@@ -5,7 +5,7 @@ import type { DbConfig } from './DbConfig.js';
|
|
|
5
5
|
import type { SourcesConfig } from './SourcesConfig.js';
|
|
6
6
|
import type { DeclaredStorage } from './DeclaredStorage.js';
|
|
7
7
|
export interface ResolvedStorage {
|
|
8
|
-
/**
|
|
8
|
+
/** The default source's engine handle — what `fougere migrate` reads the live tables through. */
|
|
9
9
|
db?: unknown;
|
|
10
10
|
storageFactory: ((entity: any, name: string) => any) | undefined;
|
|
11
11
|
/**
|
|
@@ -62,6 +62,5 @@ export declare function layerOf(storage: ResolvedStorage, fallback?: ResolvedSto
|
|
|
62
62
|
enforces: ((source: string, constraint: Constraint) => boolean) | undefined;
|
|
63
63
|
transacted: never;
|
|
64
64
|
migrate: ((app: App) => Promise<void> | void) | undefined;
|
|
65
|
-
db: unknown;
|
|
66
65
|
};
|
|
67
66
|
//# sourceMappingURL=ResolvedStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvedStorage.d.ts","sourceRoot":"","sources":["../../src/storage/ResolvedStorage.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAKzC,OAAO,EAAW,KAAK,UAAU,EAAgC,MAAM,eAAe,CAAC;AAEvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,
|
|
1
|
+
{"version":3,"file":"ResolvedStorage.d.ts","sourceRoot":"","sources":["../../src/storage/ResolvedStorage.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAKzC,OAAO,EAAW,KAAK,UAAU,EAAgC,MAAM,eAAe,CAAC;AAEvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,iGAAiG;IACjG,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACzB,mFAAmF;IACnF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,kGAAkG;IAClG,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC;IAC/D,0FAA0F;IAC1F,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACvH;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAE7B;AAsBD,8BAA8B;AAC9B,wBAAgB,cAAc,CAC5B,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,aAAa;AACvB;;;;;;;;GAQG;AACH,IAAI,CAAC,EAAE,MAAM,GACZ,eAAe,CAYjB;AAoCD,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,eAAe,CAuEtE;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC;IAE1F,cAAc,YAlMU,GAAG,QAAQ,MAAM,KAAK,GAAG;IAmMjD,QAAQ,gBA9Lc,MAAM,KAAK,MAAM;IA+LvC,SAAS,YAtLU,MAAM,KAAK,OAAO;IAuLrC,QAAQ,YArLU,MAAM,cAAc,UAAU,KAAK,OAAO;IAsL5D,UAAU,EAAwB,KAAK;IACvC,OAAO,SAhLO,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;EAkL7C"}
|
|
@@ -6,14 +6,13 @@ import { isAbsolute, resolve } from 'node:path';
|
|
|
6
6
|
import { Sources } from '@fougere/core';
|
|
7
7
|
import { declaresStorage } from './DeclaredStorage.js';
|
|
8
8
|
/** The app as ONE source sees it. */
|
|
9
|
-
function viewOf(app, holds
|
|
9
|
+
function viewOf(app, holds) {
|
|
10
10
|
const typed = app;
|
|
11
11
|
const fronds = typed.fronds
|
|
12
12
|
.map((frond) => ({ ...frond, entities: frond.entities.filter((entry) => holds(entry.name)) }))
|
|
13
13
|
.filter((frond) => frond.entities.length > 0);
|
|
14
14
|
return {
|
|
15
15
|
fronds,
|
|
16
|
-
auth: withAuth ? typed.auth : undefined,
|
|
17
16
|
// Lifted, because this function reads its app structurally on purpose — a caller
|
|
18
17
|
// may hand it a shape that is app-LIKE, and the question is still the same one.
|
|
19
18
|
elsewhere: Fronds.hosting(typed.fronds).entityNames().filter((name) => !holds(name)),
|
|
@@ -124,9 +123,9 @@ export function storageFrom(declared) {
|
|
|
124
123
|
// which is what makes a cross-source `ref()` a miss rather than a constraint against a
|
|
125
124
|
// stranger. What a pass DOES is the source's own: it knows its engine, this does not.
|
|
126
125
|
migrate: async (app) => {
|
|
127
|
-
await base.migrate?.(viewOf(app, (name) => !home.has(lowerFirst(name))
|
|
126
|
+
await base.migrate?.(viewOf(app, (name) => !home.has(lowerFirst(name))));
|
|
128
127
|
for (const [name, engine] of engines) {
|
|
129
|
-
await engine.migrate?.(viewOf(app, (e) => home.get(lowerFirst(e)) === name
|
|
128
|
+
await engine.migrate?.(viewOf(app, (e) => home.get(lowerFirst(e)) === name));
|
|
130
129
|
}
|
|
131
130
|
},
|
|
132
131
|
// Every source, the default one last: a named source may hold what the default refers
|
|
@@ -153,7 +152,6 @@ export function layerOf(storage, fallback) {
|
|
|
153
152
|
enforces: storage.enforces,
|
|
154
153
|
transacted: storage.transacted,
|
|
155
154
|
migrate: storage.migrate,
|
|
156
|
-
db: storage.db,
|
|
157
155
|
};
|
|
158
156
|
}
|
|
159
157
|
//# sourceMappingURL=ResolvedStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvedStorage.js","sourceRoot":"","sources":["../../src/storage/ResolvedStorage.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,MAAM,EAAwB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,OAAO,EAAiD,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAsCvD,qCAAqC;AACrC,SAAS,MAAM,CACb,GAAQ,EACR,KAAgC
|
|
1
|
+
{"version":3,"file":"ResolvedStorage.js","sourceRoot":"","sources":["../../src/storage/ResolvedStorage.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,MAAM,EAAwB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,OAAO,EAAiD,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAsCvD,qCAAqC;AACrC,SAAS,MAAM,CACb,GAAQ,EACR,KAAgC;IAEhC,MAAM,KAAK,GAAG,GAEb,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7F,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhD,OAAO;QACL,MAAM;QACN,iFAAiF;QACjF,gFAAgF;QAChF,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAA2B,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC1G,CAAC;AACJ,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,cAAc,CAC5B,MAAgB,EAChB,OAAuB;AACvB;;;;;;;;GAQG;AACH,IAAa;IAEb,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;IAEnE,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1F,CAAC;IAED,OAAO,WAAW,CAAC;QACjB,EAAE,EAAE,KAAK,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC;QAC/D,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,SAAS,KAAK,CAAC,IAA6B,EAAE,KAAa,EAAE,IAAa;IACxE,MAAM,IAAI,GAAI,IAAI,CAAC,MAA6B,IAAI,eAAe,CAAC;IAEpE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAU,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAA6B,EAAE,IAAa;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9F,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,wFAAwF;IACxF,sFAAsF;IACtF,qEAAqE;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,YAAY,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,WAAW,CACjB,GAAG,IAAI,gBAAgB,YAAY,mDAAmD;cACpF,mBAAmB,MAAM,uEAAuE,CACnG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACzC,CAAC;AAED,6CAA6C;AAC7C,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,QAAyB;IACnD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAEvC,oFAAoF;IACpF,+EAA+E;IAC/E,qFAAqF;IACrF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,aAAa,MAAM,yBAAyB,OAAO,UAAU,IAAI,mCAAmC,CACrG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC;IACrF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAEhD,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC,CAAC;IAEF,OAAO;QACL,wFAAwF;QACxF,EAAE,EAAG,IAAyB,CAAC,EAAE;QACjC,cAAc,EAAE,CAAC,MAAW,EAAE,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;QAC3F,QAAQ;QACR,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAE,QAAQ,CAAC,MAAM,CAAkC,EAAE,EAAE;QACxE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3C,sFAAsF;QACtF,sFAAsF;QACtF,sFAAsF;QACtF,8EAA8E;QAC9E,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,KAAK,SAAS;QACjE,wFAAwF;QACxF,wEAAwE;QACxE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK;QAC3F,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,4BAA4B,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/H,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,6BAA6B,CAAC,CAAC;YAExF,OAAO,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,uFAAuF;QACvF,uFAAuF;QACvF,sFAAsF;QACtF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACrB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACrC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QACD,sFAAsF;QACtF,qEAAqE;QACrE,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;gBAAE,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7E,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB,EAAE,QAA4C;IAC5F,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,QAAQ;QAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAmB;QACvC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fougere/defaults",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4-alpha.0",
|
|
4
4
|
"description": "The conventional boot of a Fougere app — the one place storage is wired.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fougere",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"src"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@fougere/adapter-sql": "0.12.
|
|
33
|
-
"@fougere/
|
|
34
|
-
"@fougere/
|
|
35
|
-
"@fougere/
|
|
36
|
-
"@fougere/
|
|
32
|
+
"@fougere/adapter-sql": "0.12.4-alpha.0",
|
|
33
|
+
"@fougere/transport-http": "0.12.4-alpha.0",
|
|
34
|
+
"@fougere/container": "0.12.4-alpha.0",
|
|
35
|
+
"@fougere/core": "0.12.4-alpha.0",
|
|
36
|
+
"@fougere/compiler": "0.12.4-alpha.0"
|
|
37
37
|
},
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"kysely": "^0.28.17",
|
|
43
43
|
"better-sqlite3": "^13.0.3",
|
|
44
44
|
"@types/better-sqlite3": "^7.6.13",
|
|
45
|
-
"@fougere/schema": "0.12.
|
|
45
|
+
"@fougere/schema": "0.12.4-alpha.0"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "rm -rf dist && tsc",
|
|
@@ -12,7 +12,7 @@ import type { Placement } from './Placement.js';
|
|
|
12
12
|
import type { DeclaredStorage } from './DeclaredStorage.js';
|
|
13
13
|
|
|
14
14
|
export interface ResolvedStorage {
|
|
15
|
-
/**
|
|
15
|
+
/** The default source's engine handle — what `fougere migrate` reads the live tables through. */
|
|
16
16
|
db?: unknown;
|
|
17
17
|
storageFactory: ((entity: any, name: string) => any) | undefined;
|
|
18
18
|
/**
|
|
@@ -47,11 +47,9 @@ export interface ResolvedStorage {
|
|
|
47
47
|
function viewOf(
|
|
48
48
|
app: App,
|
|
49
49
|
holds: (name: string) => boolean,
|
|
50
|
-
withAuth: boolean,
|
|
51
50
|
): SourceView {
|
|
52
51
|
const typed = app as unknown as {
|
|
53
52
|
fronds: { name: string; entities: { name: string }[] }[];
|
|
54
|
-
auth?: unknown;
|
|
55
53
|
};
|
|
56
54
|
const fronds = typed.fronds
|
|
57
55
|
.map((frond) => ({ ...frond, entities: frond.entities.filter((entry) => holds(entry.name)) }))
|
|
@@ -59,7 +57,6 @@ function viewOf(
|
|
|
59
57
|
|
|
60
58
|
return {
|
|
61
59
|
fronds,
|
|
62
|
-
auth: withAuth ? typed.auth : undefined,
|
|
63
60
|
// Lifted, because this function reads its app structurally on purpose — a caller
|
|
64
61
|
// may hand it a shape that is app-LIKE, and the question is still the same one.
|
|
65
62
|
elsewhere: Fronds.hosting(typed.fronds as FrondDescriptor[]).entityNames().filter((name) => !holds(name)),
|
|
@@ -188,9 +185,9 @@ export function storageFrom(declared: DeclaredStorage): ResolvedStorage {
|
|
|
188
185
|
// which is what makes a cross-source `ref()` a miss rather than a constraint against a
|
|
189
186
|
// stranger. What a pass DOES is the source's own: it knows its engine, this does not.
|
|
190
187
|
migrate: async (app) => {
|
|
191
|
-
await base.migrate?.(viewOf(app, (name) => !home.has(lowerFirst(name))
|
|
188
|
+
await base.migrate?.(viewOf(app, (name) => !home.has(lowerFirst(name))));
|
|
192
189
|
for (const [name, engine] of engines) {
|
|
193
|
-
await engine.migrate?.(viewOf(app, (e) => home.get(lowerFirst(e)) === name
|
|
190
|
+
await engine.migrate?.(viewOf(app, (e) => home.get(lowerFirst(e)) === name));
|
|
194
191
|
}
|
|
195
192
|
},
|
|
196
193
|
// Every source, the default one last: a named source may hold what the default refers
|
|
@@ -217,6 +214,5 @@ export function layerOf(storage: ResolvedStorage, fallback?: ResolvedStorage['st
|
|
|
217
214
|
enforces: storage.enforces,
|
|
218
215
|
transacted: storage.transacted as never,
|
|
219
216
|
migrate: storage.migrate,
|
|
220
|
-
db: storage.db,
|
|
221
217
|
};
|
|
222
218
|
}
|