@feasibleone/blong 1.19.0 → 1.20.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.20.1](https://github.com/feasibleone/blong/compare/blong-v1.20.0...blong-v1.20.1) (2026-05-21)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * refresh after delete ([d59d71d](https://github.com/feasibleone/blong/commit/d59d71d32eff795cd8a53fd72b2d58e80f994bc1))
9
+
10
+ ## [1.20.0](https://github.com/feasibleone/blong/compare/blong-v1.19.0...blong-v1.20.0) (2026-05-19)
11
+
12
+
13
+ ### Features
14
+
15
+ * blong-dev ([8eb1aa4](https://github.com/feasibleone/blong/commit/8eb1aa4a8acb6a3dcdd52fb51582e0403efa4064))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * lint ([8cde9a7](https://github.com/feasibleone/blong/commit/8cde9a7b9d54d4556bf33b4f8f61d5c5597ca108))
21
+ * linting ([c45c515](https://github.com/feasibleone/blong/commit/c45c515c41d8dd7c9bb5b14e30a3d3e8afc75db8))
22
+ * linting ([f5ae3f9](https://github.com/feasibleone/blong/commit/f5ae3f9b563c6090080bf58f9b224a1b626b160e))
23
+ * linting ([fec5ee2](https://github.com/feasibleone/blong/commit/fec5ee2c4977e06a1d9d4d606dcb86dc9334aaa4))
24
+ * linting ([27102ca](https://github.com/feasibleone/blong/commit/27102ca91ddf21124439452486a086aa68fc8886))
25
+
3
26
  ## [1.19.0](https://github.com/feasibleone/blong/compare/blong-v1.18.3...blong-v1.19.0) (2026-05-15)
4
27
 
5
28
 
package/dist/knex.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"knex.js","sourceRoot":"","sources":["../knex.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,4EAA4E;AAC5E,6FAA6F;AAC7F,2BAA2B;AAu/F3B,eAAe,IAAI,CAAC;AACpB,OAAO,EAAC,IAAI,EAAC,CAAC"}
1
+ {"version":3,"file":"knex.js","sourceRoot":"","sources":["../knex.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,4EAA4E;AAC5E,6FAA6F;AAC7F,2BAA2B;AAy/F3B,eAAe,IAAI,CAAC;AACpB,OAAO,EAAC,IAAI,EAAC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -12,7 +12,7 @@ import { Level, LogFn, Logger as PinoLogger } from 'pino';
12
12
  import React$1 from 'react';
13
13
  import { Readable, Writable } from 'stream';
14
14
  import { ConnectionOptions as ConnectionOptions_2, TLSSocket, TLSSocketOptions } from 'tls';
15
- import { Static, TArray, TBoolean, TFunction, TNever, TNumber, TObject, TSchema, TString, TUnknown, Type } from 'typebox';
15
+ import { Static, TArray, TBoolean, TFunction, TIntersect, TNever, TNumber, TObject, TSchema, TString, TUnknown, Type } from 'typebox';
16
16
 
17
17
  export type Method = "GET" | "POST" | "PUT" | "DELETE";
18
18
  export interface RequestArgs {
@@ -17864,6 +17864,13 @@ export interface IToolbarButton {
17864
17864
  params?: Record<string, unknown> | string;
17865
17865
  /** Success hint text shown in an overlay near the button after the action completes */
17866
17866
  successHint?: string;
17867
+ /**
17868
+ * When true, invalidates the list/detail queries for the method's namespace after a
17869
+ * successful call. Derives the namespace from the `method` name by dropping the last
17870
+ * segment (e.g. `marine.coral.remove` → invalidates `marine.coral.find` and
17871
+ * `marine.coral.get`). Useful for delete/remove toolbar actions on browse pages.
17872
+ */
17873
+ refresh?: boolean;
17867
17874
  }
17868
17875
  export type LayoutRow = string | (string | string[])[];
17869
17876
  export type FlatLayoutConfig = LayoutRow[];
@@ -18198,7 +18205,10 @@ export interface IPlatformApi {
18198
18205
  configs: string[];
18199
18206
  }
18200
18207
  export interface IErrorFactory {
18201
- get(type?: string): unknown;
18208
+ get(type?: string): Record<string | symbol, {
18209
+ message: string;
18210
+ print?: string;
18211
+ } | string>;
18202
18212
  fetch(type: string): object;
18203
18213
  define(id: string, superType: string | {
18204
18214
  type: string;
@@ -18265,7 +18275,7 @@ export interface IRpcServer {
18265
18275
  setAttachCheckpoint?: (fn: ((meta: IMeta) => void) | undefined) => void;
18266
18276
  }
18267
18277
  export interface ILocal {
18268
- register: (methods: object, namespace: string, reply: boolean, pkg: {
18278
+ register: (methods: Record<string, (...params: unknown[]) => Promise<unknown>> | Array<(...params: unknown[]) => Promise<unknown>>, namespace: string, reply: boolean, pkg: {
18269
18279
  version: string;
18270
18280
  }) => void;
18271
18281
  unregister: (methods: string[], namespace: string) => void;
@@ -18329,11 +18339,11 @@ export interface IApi {
18329
18339
  rpc: IRpcServer;
18330
18340
  local: ILocal;
18331
18341
  registry: IRegistry;
18332
- register: (methods: object, namespace: string, id: string, pkg: {
18342
+ register: (methods: Record<string, (...params: unknown[]) => Promise<unknown>> | Array<(...params: unknown[]) => Promise<unknown>>, namespace: string, id: string, pkg: {
18333
18343
  version: string;
18334
18344
  }) => void;
18335
18345
  unregister: (methods: string[], namespace: string) => void;
18336
- subscribe: (methods: object, namespace: string, id: string, pkg: {
18346
+ subscribe: (methods: Record<string, (...params: unknown[]) => Promise<unknown>> | Array<(...params: unknown[]) => Promise<unknown>>, namespace: string, id: string, pkg: {
18337
18347
  version: string;
18338
18348
  }) => void;
18339
18349
  unsubscribe: (methods: string[], namespace: string) => void;
@@ -18615,7 +18625,7 @@ export interface IStep {
18615
18625
  method?: string;
18616
18626
  }
18617
18627
  export type Sequence = (boolean | string | IStep)[];
18618
- export type ApiSchema = TObject | TArray | TBoolean | TString | TNumber | TUnknown;
18628
+ export type ApiSchema = TObject | TArray | TBoolean | TString | TNumber | TUnknown | TIntersect;
18619
18629
  export type GatewaySchema = ({
18620
18630
  params: ApiSchema;
18621
18631
  result: ApiSchema;
@@ -18648,7 +18658,24 @@ export type PathItemObject = OpenAPIV3_1.PathItemObject | OpenAPIV2.PathItemObje
18648
18658
  export type ThenableProxy = Promise<unknown> & {
18649
18659
  [key: string]: ThenableProxy;
18650
18660
  };
18651
- export type ChainStep = ((assert: typeof Assert, context: {
18661
+ /**
18662
+ * Augmented assert passed to every chain step. The `snapshot()` method is
18663
+ * injected at runtime by the test executor, so handlers can call it directly
18664
+ * without `(assert as any)` casts. Import this type from `@feasibleone/blong`
18665
+ * instead of `typeof Assert` from `node:assert` in test handlers.
18666
+ */
18667
+ export type IAssert = typeof Assert & {
18668
+ /**
18669
+ * Deferred (no-args): snapshot the step's return value under the step name.
18670
+ * Optional object form: `assert.snapshot({mask: ['id']})` adds a per-call mask.
18671
+ * Explicit form: `assert.snapshot(value, 'name', {mask?})` writes immediately.
18672
+ */
18673
+ snapshot(valueOrOpts?: unknown, name?: string, opts?: {
18674
+ mask?: string[];
18675
+ }): void;
18676
+ matchSnapshot(value: unknown, name?: string): void;
18677
+ };
18678
+ export type ChainStep = ((assert: IAssert, context: {
18652
18679
  $meta: IMeta;
18653
18680
  } & Record<string, Promise<unknown[]> & ThenableProxy>) => Promise<object>) | object;
18654
18681
  export type CheckpointFn = (this: IMeta, name: string, data?: unknown) => void;
@@ -18658,11 +18685,39 @@ export interface ILib {
18658
18685
  rename: <T extends object>(object: T, name: string) => T & {
18659
18686
  name: string;
18660
18687
  };
18661
- /** @deprecated The framework now auto-names step arrays from handler names. */
18662
- group: (name: string) => (handlers: ChainStep[]) => ChainStep[] & {
18688
+ /**
18689
+ * Create a named group of chain steps. The group name is used in test reports.
18690
+ * Optionally configure the group with `autoSnapshot: true` to automatically snapshot the
18691
+ * return the steps and the common mask to apply to all snapshots taken within the group.
18692
+ *
18693
+ * @param name
18694
+ * @param config
18695
+ * @returns
18696
+ */
18697
+ group: (name: string, config?: {
18698
+ autoSnapshot?: boolean;
18699
+ mask?: string[];
18700
+ }) => (handlers: ChainStep[]) => ChainStep[] & {
18701
+ name: string;
18702
+ };
18703
+ /**
18704
+ * Create a named snapshot checkpoint marker to place inside a `group()` steps array.
18705
+ * Without extra arguments the `'*'` wildcard waits for all pending steps.
18706
+ * With step names only those steps are awaited before the context snapshot is taken.
18707
+ *
18708
+ * @example
18709
+ * group('my-test')([
18710
+ * stepA,
18711
+ * stepB,
18712
+ * checkpoint('after-b', 'stepA', 'stepB'), // wait for A & B, then snapshot
18713
+ * stepC,
18714
+ * checkpoint('final'), // wait for all, then snapshot
18715
+ * ])
18716
+ */
18717
+ checkpoint: (name: string, ...markers: string[]) => string[] & {
18663
18718
  name: string;
18664
18719
  };
18665
- assert: typeof Assert | undefined;
18720
+ assert: IAssert | undefined;
18666
18721
  yaml: {
18667
18722
  parse: <T>(source: string, options?: unknown) => T;
18668
18723
  parseAllDocuments: <T>(source: string, options?: unknown) => T;
package/dist/types.js CHANGED
@@ -16,7 +16,6 @@ export class Internal {
16
16
  async stop() {
17
17
  return this;
18
18
  }
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
19
  async start(..._args) {
21
20
  return this;
22
21
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feasibleone/blong",
3
- "version": "1.19.0",
3
+ "version": "1.20.1",
4
4
  "description": "API and DRY focused RAD framework https://feasibleone.github.io/blong-docs",
5
5
  "keywords": [
6
6
  "blong",
@@ -46,11 +46,12 @@
46
46
  "openapi-types": "^12.1.3",
47
47
  "react": "^19.1.0",
48
48
  "tarn": "^3.0.2",
49
- "typescript": "^5.9.3"
49
+ "typescript": "^6.0.3",
50
+ "@feasibleone/blong-dev": "1.0.0"
50
51
  },
51
52
  "scripts": {
52
53
  "build": "heft build --clean;dts-bundle-generator --config dts-gen.config.json",
53
- "ci-lint": "tsc --noEmit",
54
+ "ci-lint": "blong-dev lint",
54
55
  "ci-publish": "node ../../common/scripts/install-run-rush-pnpm.js publish --access public --provenance"
55
56
  }
56
57
  }
package/types.ts CHANGED
@@ -16,6 +16,7 @@ import {
16
16
  type TArray,
17
17
  type TBoolean,
18
18
  type TFunction,
19
+ type TIntersect,
19
20
  type TNever,
20
21
  type TNumber,
21
22
  type TObject,
@@ -165,7 +166,7 @@ export interface IPlatformApi {
165
166
  }
166
167
 
167
168
  export interface IErrorFactory {
168
- get(type?: string): unknown;
169
+ get(type?: string): Record<string | symbol, {message: string; print?: string} | string>;
169
170
  fetch(type: string): object;
170
171
  define(
171
172
  id: string,
@@ -237,7 +238,14 @@ export interface IRpcServer {
237
238
  }
238
239
 
239
240
  export interface ILocal {
240
- register: (methods: object, namespace: string, reply: boolean, pkg: {version: string}) => void;
241
+ register: (
242
+ methods:
243
+ | Record<string, (...params: unknown[]) => Promise<unknown>>
244
+ | Array<(...params: unknown[]) => Promise<unknown>>,
245
+ namespace: string,
246
+ reply: boolean,
247
+ pkg: {version: string},
248
+ ) => void;
241
249
  unregister: (methods: string[], namespace: string) => void;
242
250
  get: (name: string) => {method: (...params: unknown[]) => Promise<unknown[]>};
243
251
  }
@@ -307,9 +315,23 @@ export interface IApi {
307
315
  rpc: IRpcServer;
308
316
  local: ILocal;
309
317
  registry: IRegistry;
310
- register: (methods: object, namespace: string, id: string, pkg: {version: string}) => void;
318
+ register: (
319
+ methods:
320
+ | Record<string, (...params: unknown[]) => Promise<unknown>>
321
+ | Array<(...params: unknown[]) => Promise<unknown>>,
322
+ namespace: string,
323
+ id: string,
324
+ pkg: {version: string},
325
+ ) => void;
311
326
  unregister: (methods: string[], namespace: string) => void;
312
- subscribe: (methods: object, namespace: string, id: string, pkg: {version: string}) => void;
327
+ subscribe: (
328
+ methods:
329
+ | Record<string, (...params: unknown[]) => Promise<unknown>>
330
+ | Array<(...params: unknown[]) => Promise<unknown>>,
331
+ namespace: string,
332
+ id: string,
333
+ pkg: {version: string},
334
+ ) => void;
313
335
  unsubscribe: (methods: string[], namespace: string) => void;
314
336
  dispatch: (...params: unknown[]) => boolean | Promise<unknown>;
315
337
  methodId: (name: string) => string;
@@ -636,7 +658,7 @@ export interface IStep {
636
658
  }
637
659
  export type Sequence = (boolean | string | IStep)[];
638
660
 
639
- export type ApiSchema = TObject | TArray | TBoolean | TString | TNumber | TUnknown;
661
+ export type ApiSchema = TObject | TArray | TBoolean | TString | TNumber | TUnknown | TIntersect;
640
662
 
641
663
  export type GatewaySchema = (
642
664
  | {
@@ -735,7 +757,7 @@ export interface ILib {
735
757
  * ])
736
758
  */
737
759
  checkpoint: (name: string, ...markers: string[]) => string[] & {name: string};
738
- assert: typeof Assert | undefined;
760
+ assert: IAssert | undefined;
739
761
  yaml: {
740
762
  parse: <T>(source: string, options?: unknown) => T;
741
763
  parseAllDocuments: <T>(source: string, options?: unknown) => T;
@@ -872,7 +894,6 @@ export abstract class Internal {
872
894
  public async stop(): Promise<unknown> {
873
895
  return this;
874
896
  }
875
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
876
897
  public async start(..._args: unknown[]): Promise<unknown> {
877
898
  return this;
878
899
  }