@dpuse/dpuse-shared 0.3.851 → 0.3.865

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.
Files changed (61) hide show
  1. package/README.md +98 -160
  2. package/dist/dpuse-shared.es.js +1473 -0
  3. package/dist/dpuse-shared.es.js.map +1 -0
  4. package/dist/types/src/component/connection/index.d.ts +5 -4
  5. package/dist/types/src/component/context/index.d.ts +2 -1
  6. package/dist/types/src/component/context/model/entity/event/index.d.ts +2 -1
  7. package/dist/types/src/component/context/model/entity/index.d.ts +2 -1
  8. package/dist/types/src/component/dataView/index.d.ts +8 -7
  9. package/dist/types/src/component/index.d.ts +2 -3
  10. package/dist/types/src/component/module/connector/index.d.ts +1 -11
  11. package/dist/types/src/component/module/cookbook/index.d.ts +1 -2
  12. package/dist/types/src/component/module/index.d.ts +1 -2
  13. package/dist/types/src/component/presentation/index.d.ts +0 -12
  14. package/dist/types/src/component/recipe/index.d.ts +1 -2
  15. package/dist/types/src/encoding/index.d.ts +4 -4
  16. package/dist/types/src/errors/index.d.ts +2 -1
  17. package/dist/types/src/index.d.ts +24 -0
  18. package/dist/types/src/locale/label.d.ts +2 -1
  19. package/package.json +9 -116
  20. package/dist/componentConfig.schema-DT3mO5rS.js +0 -416
  21. package/dist/componentConfig.schema-DT3mO5rS.js.map +0 -1
  22. package/dist/dpuse-shared-component.es.js +0 -53
  23. package/dist/dpuse-shared-component.es.js.map +0 -1
  24. package/dist/dpuse-shared-componentConnection.es.js +0 -0
  25. package/dist/dpuse-shared-componentContext.es.js +0 -0
  26. package/dist/dpuse-shared-componentContextModel.es.js +0 -0
  27. package/dist/dpuse-shared-componentContextModelDimension.es.js +0 -0
  28. package/dist/dpuse-shared-componentContextModelDimensionHierarchy.es.js +0 -0
  29. package/dist/dpuse-shared-componentContextModelEntity.es.js +0 -0
  30. package/dist/dpuse-shared-componentContextModelEntityDataItem.es.js +0 -0
  31. package/dist/dpuse-shared-componentContextModelEntityEvent.es.js +0 -0
  32. package/dist/dpuse-shared-componentContextModelEntityPrimaryMeasure.es.js +0 -0
  33. package/dist/dpuse-shared-componentContextModelSecondaryMeasure.es.js +0 -0
  34. package/dist/dpuse-shared-componentDataView.es.js +0 -18
  35. package/dist/dpuse-shared-componentDataView.es.js.map +0 -1
  36. package/dist/dpuse-shared-componentEventQuery.es.js +0 -0
  37. package/dist/dpuse-shared-componentModule.es.js +0 -0
  38. package/dist/dpuse-shared-componentModuleConnector.es.js +0 -182
  39. package/dist/dpuse-shared-componentModuleConnector.es.js.map +0 -1
  40. package/dist/dpuse-shared-componentModuleCookbook.es.js +0 -11
  41. package/dist/dpuse-shared-componentModuleCookbook.es.js.map +0 -1
  42. package/dist/dpuse-shared-componentModuleEngine.es.js +0 -0
  43. package/dist/dpuse-shared-componentModulePresenter.es.js +0 -15
  44. package/dist/dpuse-shared-componentModulePresenter.es.js.map +0 -1
  45. package/dist/dpuse-shared-componentModuleTool.es.js +0 -29
  46. package/dist/dpuse-shared-componentModuleTool.es.js.map +0 -1
  47. package/dist/dpuse-shared-componentPresentation.es.js +0 -0
  48. package/dist/dpuse-shared-componentRecipe.es.js +0 -4
  49. package/dist/dpuse-shared-componentRecipe.es.js.map +0 -1
  50. package/dist/dpuse-shared-encoding.es.js +0 -467
  51. package/dist/dpuse-shared-encoding.es.js.map +0 -1
  52. package/dist/dpuse-shared-errors.es.js +0 -150
  53. package/dist/dpuse-shared-errors.es.js.map +0 -1
  54. package/dist/dpuse-shared-locale.es.js +0 -28
  55. package/dist/dpuse-shared-locale.es.js.map +0 -1
  56. package/dist/dpuse-shared-utilities.es.js +0 -109
  57. package/dist/dpuse-shared-utilities.es.js.map +0 -1
  58. package/dist/label-DexpXrnC.js +0 -19
  59. package/dist/label-DexpXrnC.js.map +0 -1
  60. package/dist/moduleConfig.schema-aYmFWSrn.js +0 -22
  61. package/dist/moduleConfig.schema-aYmFWSrn.js.map +0 -1
package/README.md CHANGED
@@ -5,10 +5,10 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
6
6
  [![DPUse version](https://img.shields.io/github/v/release/dpuse/dpuse-shared?color=f6821f&label=DPUse)](https://github.com/dpuse/dpuse-shared/releases/latest)
7
7
  [![CI](https://github.com/dpuse/dpuse-shared/actions/workflows/ci.yml/badge.svg)](https://github.com/dpuse/dpuse-shared/actions/workflows/ci.yml)
8
- [![CodeQL](https://github.com/dpuse/dpuse-shared/actions/workflows/codeql.yml/badge.svg)](https://github.com/dpuse/dpuse-shared/actions/workflows/codeql.yml)
9
- [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=dpuse_dpuse-shared&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=dpuse_dpuse-shared)
10
8
 
11
- [Documentation](https://www.dpuse.app) · [Report a Vulnerability](https://github.com/dpuse/dpuse-shared/security/advisories/new) · [Open an Issue](https://github.com/dpuse/dpuse-shared/issues)
9
+ [DPUse](https://www.dpuse.app) · [Report a Vulnerability](https://github.com/dpuse/dpuse-shared/security/advisories/new) · [Open an Issue](https://github.com/dpuse/dpuse-shared/issues)
10
+
11
+ Common constants, types and utilities used across all DPUse projects.
12
12
 
13
13
  ## About DPUse
14
14
 
@@ -24,7 +24,9 @@ In addition, DPUse provides [Tools](https://www.dpuse.app) used by the applicati
24
24
 
25
25
  ## Introduction
26
26
 
27
- @dpuse/dpuse-shared is the foundational library for the [DPUse](https://www.dpuse.app/) ecosystem. It provides the common constants, types, errors, and utilities that are shared across all DPUse modules — including the App, API, Engine, Connectors, Contexts, Presenters and Recipes.,The library is written in TypeScript and designed to be consumed exclusively by TypeScript projects. All configuration types are schema-validated using [Valibot](https://valibot.dev/), giving consumers both compile-time safety and runtime validation from a single source of truth.
27
+ @dpuse/dpuse-shared is the foundational library for the [DPUse](https://www.dpuse.app/) ecosystem. It provides the common constants, types, errors, and utilities that are shared across all DPUse modules — including the App, API, Engine, Connectors, Contexts, Presenters and Recipes.
28
+
29
+ The library is written in TypeScript and designed to be consumed exclusively by TypeScript projects. All configuration types are schema-validated using [Valibot](https://valibot.dev/), giving consumers both compile-time safety and runtime validation from a single source of truth.
28
30
 
29
31
  <!-- OPENING_END -->
30
32
 
@@ -32,13 +34,13 @@ In addition, DPUse provides [Tools](https://www.dpuse.app) used by the applicati
32
34
 
33
35
  ## Usage
34
36
 
35
- This package is published to the [public npm registry](https://www.npmjs.com/package/@dpuse/dpuse-shared). Install it with:
37
+ This [package](https://www.npmjs.com/package/@dpuse/dpuse-shared) is available on [npm](https://www.npmjs.com/). Install it with:
36
38
 
37
39
  ```bash
38
40
  npm install @dpuse/dpuse-shared
39
41
  ```
40
42
 
41
- To work on the source instead, clone this repository. Cloned or forked code is unsupported and isn't guaranteed to remain compatible with the DPUse Engine as it evolves.
43
+ To work on the source instead, clone this repository.
42
44
 
43
45
  ```bash
44
46
  git clone https://github.com/dpuse/dpuse-shared.git
@@ -48,32 +50,16 @@ npm install
48
50
 
49
51
  _Requires [Node.js](https://nodejs.org/) 24 or later, [npm](https://www.npmjs.com/) 12 or later, and [TypeScript](https://www.typescriptlang.org/) 6.0.3 or later._
50
52
 
51
- <!-- USAGE_END -->
52
-
53
- ### OLD Installation
54
-
55
- `@dpuse/dpuse-shared` is published to the [public npm registry](https://www.npmjs.com/package/@dpuse/dpuse-shared). Install it using your preferred package manager:
53
+ This repository is managed using the common set of actions provided by [@dpuse/dpuse-development](https://github.com/dpuse/dpuse-development). See the `scripts` block in [package.json](https://github.com/dpuse/dpuse-shared/blob/main/package.json) for details.
56
54
 
57
- ```bash
58
- # npm
59
- npm install @dpuse/dpuse-shared
60
-
61
- # yarn
62
- yarn add @dpuse/dpuse-shared
63
-
64
- # pnpm
65
- pnpm add @dpuse/dpuse-shared
66
- ```
55
+ <!-- USAGE_END -->
67
56
 
68
- ### OLD Usage
57
+ ### Example
69
58
 
70
- This package uses [sub-path exports](https://nodejs.org/api/packages.html#subpath-exports). Import only the entry points you need:
59
+ Everything is imported from the package itself. Bundlers keep only what you use:
71
60
 
72
61
  ```ts
73
- import { getComponentStatus } from '@dpuse/dpuse-shared/component';
74
- import type { ConnectorConfig } from '@dpuse/dpuse-shared/component/module/connector';
75
- import { ConnectorError, serialiseError } from '@dpuse/dpuse-shared/errors';
76
- import { formatNumberAsDuration } from '@dpuse/dpuse-shared/utilities';
62
+ import { ConnectorError, type ConnectorConfig, formatNumberAsDuration, getComponentStatus, serialiseError } from '@dpuse/dpuse-shared';
77
63
 
78
64
  try {
79
65
  // The locator argument follows the convention 'project.file.function'
@@ -83,8 +69,6 @@ try {
83
69
  }
84
70
  ```
85
71
 
86
- Implements the common Data Positioning repository management command set. For more information see [@dpuse/dpuse-development](https://github.com/dpuse/dpuse-development).
87
-
88
72
  ## Architecture
89
73
 
90
74
  ### Component Hierarchy
@@ -111,47 +95,45 @@ OData-to-internal type conversion, file path name and extension extraction, numb
111
95
 
112
96
  ## API Reference
113
97
 
114
- See [API_REFERENCE.md](./API_REFERENCE.md) for the complete API reference, including all exported schemas, types, classes, constants, and actions for each sub-path entry point.
98
+ See [API_REFERENCE.md](./API_REFERENCE.md) for the complete API reference, including all exported schemas, types, classes, constants, and actions, grouped by topic.
115
99
 
116
100
  <!-- DEPENDENCY_LICENSES_START -->
117
101
 
118
102
  ## Dependency Licenses
119
103
 
120
- License data is collected automatically on each release using [license-checker](https://github.com/RSeidelsohn/license-checker-rseidelsohn). The following table lists all production dependencies. These dependencies (including transitive ones) have been checked and confirmed to use Apache-2.0, BSD-3-Clause, or MIT — all permissive, commercially-friendly licenses. Users of the uploaded library are covered by these checks; developers cloning this repository should independently verify development dependencies.
121
-
122
- |Dependency|Version|License(s)|Document|
123
- |:-|:-:|:-|:-|
124
- |[@borewit/text-codec](https://github.com/Borewit/text-codec)|0.2.2|MIT|[LICENSE](licenses/downloads/@borewit/text-codec@0.2.2-LICENSE.txt)|
125
- |[@tokenizer/inflate](https://github.com/Borewit/tokenizer-inflate)|0.4.1|MIT|[LICENSE](licenses/downloads/@tokenizer/inflate@0.4.1-LICENSE.txt)|
126
- |[@tokenizer/token](https://github.com/Borewit/tokenizer-token)|0.3.0|MIT|[LICENSE](licenses/downloads/@tokenizer/token@0.3.0-LICENSE.txt)|
127
- |[debug](https://github.com/debug-js/debug)|4.4.3|MIT|[LICENSE](licenses/downloads/debug@4.4.3-LICENSE.txt)|
128
- |[file-type](https://github.com/sindresorhus/file-type)|22.1.1|MIT|[LICENSE](licenses/downloads/file-type@22.1.1-LICENSE.txt)|
129
- |[ieee754](https://github.com/feross/ieee754)|1.2.1|BSD-3-Clause|[LICENSE](licenses/downloads/ieee754@1.2.1-LICENSE.txt)|
130
- |[ms](https://github.com/vercel/ms)|2.1.3|MIT|[LICENSE](licenses/downloads/ms@2.1.3-LICENSE.txt)|
131
- |[strtok3](https://github.com/Borewit/strtok3)|10.3.5|MIT|[LICENSE](licenses/downloads/strtok3@10.3.5-LICENSE.txt)|
132
- |[token-types](https://github.com/Borewit/token-types)|6.1.2|MIT|[LICENSE](licenses/downloads/token-types@6.1.2-LICENSE.txt)|
133
- |[typescript](https://github.com/microsoft/TypeScript)|6.0.3|Apache-2.0|[LICENSE](licenses/downloads/typescript@6.0.3-LICENSE.txt)|
134
- |[uint8array-extras](https://github.com/sindresorhus/uint8array-extras)|1.5.0|MIT|[LICENSE](licenses/downloads/uint8array-extras@1.5.0-LICENSE.txt)|
135
- |[valibot](https://github.com/open-circle/valibot)|1.5.0|MIT|[LICENSE](licenses/downloads/valibot@1.5.0-LICENSE.txt)|
104
+ License data is updated each time `npm run document` is run, using [license-checker](https://github.com/RSeidelsohn/license-checker-rseidelsohn). The following table lists all production dependencies. These dependencies (including transitive ones) have been checked and confirmed to use BSD-3-Clause or MIT — all permissive, commercially-friendly licenses. Users of the uploaded library are covered by these checks; developers cloning this repository should independently verify development dependencies.
105
+
106
+ | Dependency | Version | License(s) | Document |
107
+ | :--------------------------------------------------------------------- | :-----: | :----------- | :------------------------------------------------------------------ |
108
+ | [@borewit/text-codec](https://github.com/Borewit/text-codec) | 0.2.2 | MIT | [LICENSE](licenses/downloads/@borewit/text-codec@0.2.2-LICENSE.txt) |
109
+ | [@tokenizer/inflate](https://github.com/Borewit/tokenizer-inflate) | 0.4.1 | MIT | [LICENSE](licenses/downloads/@tokenizer/inflate@0.4.1-LICENSE.txt) |
110
+ | [@tokenizer/token](https://github.com/Borewit/tokenizer-token) | 0.3.0 | MIT | [LICENSE](licenses/downloads/@tokenizer/token@0.3.0-LICENSE.txt) |
111
+ | [debug](https://github.com/debug-js/debug) | 4.4.3 | MIT | [LICENSE](licenses/downloads/debug@4.4.3-LICENSE.txt) |
112
+ | [file-type](https://github.com/sindresorhus/file-type) | 22.1.1 | MIT | [LICENSE](licenses/downloads/file-type@22.1.1-LICENSE.txt) |
113
+ | [ieee754](https://github.com/feross/ieee754) | 1.2.1 | BSD-3-Clause | [LICENSE](licenses/downloads/ieee754@1.2.1-LICENSE.txt) |
114
+ | [ms](https://github.com/vercel/ms) | 2.1.3 | MIT | [LICENSE](licenses/downloads/ms@2.1.3-LICENSE.txt) |
115
+ | [strtok3](https://github.com/Borewit/strtok3) | 10.3.5 | MIT | [LICENSE](licenses/downloads/strtok3@10.3.5-LICENSE.txt) |
116
+ | [token-types](https://github.com/Borewit/token-types) | 6.1.2 | MIT | [LICENSE](licenses/downloads/token-types@6.1.2-LICENSE.txt) |
117
+ | [uint8array-extras](https://github.com/sindresorhus/uint8array-extras) | 1.5.0 | MIT | [LICENSE](licenses/downloads/uint8array-extras@1.5.0-LICENSE.txt) |
118
+ | [valibot](https://github.com/open-circle/valibot) | 1.5.0 | MIT | [LICENSE](licenses/downloads/valibot@1.5.0-LICENSE.txt) |
136
119
 
137
120
  ### Dependency Tree
138
121
 
139
122
  The dependency tree below lists every package in this project — direct and transitive — along with its installed version, release date, and update status. Packages flagged ❗ have a newer version available; ⚠️ indicates a package that hasn't been updated in the last 6 months or longer. Neither flag necessarily indicates a problem: we let new releases stabilise before upgrading, and some packages are mature and stable (have limited or no dependencies), so they require no active development.
140
123
 
141
124
  - **[file-type](https://github.com/sindresorhus/file-type)** 22.1.1 — this month: 2026-09-17
142
- - **[@tokenizer/inflate](https://github.com/Borewit/tokenizer-inflate)** 0.4.1 — **10 months** ago: 2025-11-18 ⚠️
143
- - **[debug](https://github.com/debug-js/debug)** 4.4.3 — **12 months** ago: 2025-09-13 ⚠️
144
- - **[ms](https://github.com/vercel/ms)** 2.1.3 — **69 months** ago: 2020-12-08 ⚠️
125
+ - **[@tokenizer/inflate](https://github.com/Borewit/tokenizer-inflate)** 0.4.1 — **10 months** ago: 2025-11-18 ⚠️
126
+ - **[debug](https://github.com/debug-js/debug)** 4.4.3 — **12 months** ago: 2025-09-13 ⚠️
127
+ - **[ms](https://github.com/vercel/ms)** 2.1.3 — **69 months** ago: 2020-12-08 ⚠️
128
+ - **[token-types](https://github.com/Borewit/token-types)** 6.1.2 — **8 months** ago: 2026-01-01 ⚠️
129
+ - **[strtok3](https://github.com/Borewit/strtok3)** 10.3.5 — **6 months** ago: 2026-03-21
130
+ - **[@tokenizer/token](https://github.com/Borewit/tokenizer-token)** 0.3.0 — **62 months** ago: 2021-07-12 ⚠️
145
131
  - **[token-types](https://github.com/Borewit/token-types)** 6.1.2 — **8 months** ago: 2026-01-01 ⚠️
146
- - **[strtok3](https://github.com/Borewit/strtok3)** 10.3.5 — **6 months** ago: 2026-03-21
147
- - **[@tokenizer/token](https://github.com/Borewit/tokenizer-token)** 0.3.0 — **62 months** ago: 2021-07-12 ⚠️
148
- - **[token-types](https://github.com/Borewit/token-types)** 6.1.2 — **8 months** ago: 2026-01-01 ⚠️
149
- - **[@borewit/text-codec](https://github.com/Borewit/text-codec)** 0.2.2 — **6 months** ago: 2026-03-11
150
- - **[@tokenizer/token](https://github.com/Borewit/tokenizer-token)** 0.3.0 — **62 months** ago: 2021-07-12 ⚠️
151
- - **[ieee754](https://github.com/feross/ieee754)** 1.2.1 — **70 months** ago: 2020-10-27 ⚠️
152
- - **[uint8array-extras](https://github.com/sindresorhus/uint8array-extras)** 1.5.0 — **13 months** ago: 2025-08-22 ⚠️
132
+ - **[@borewit/text-codec](https://github.com/Borewit/text-codec)** 0.2.2 — **6 months** ago: 2026-03-11
133
+ - **[@tokenizer/token](https://github.com/Borewit/tokenizer-token)** 0.3.0 — **62 months** ago: 2021-07-12 ⚠️
134
+ - **[ieee754](https://github.com/feross/ieee754)** 1.2.1 — **71 months** ago: 2020-10-27 ⚠️
135
+ - **[uint8array-extras](https://github.com/sindresorhus/uint8array-extras)** 1.5.0 — **13 months** ago: 2025-08-22 ⚠️ → **latest**: 1.6.0 — this month: 2026-09-26 ❗
153
136
  - **[valibot](https://github.com/open-circle/valibot)** 1.5.0 — this month: 2026-09-09
154
- - **[typescript](https://github.com/microsoft/TypeScript)** 6.0.3 — **5 months** ago: 2026-04-16 → **latest**: 7.0.2 — **2 months** ago: 2026-07-08 ❗
155
137
 
156
138
  <!-- DEPENDENCY_LICENSES_END -->
157
139
 
@@ -159,132 +141,88 @@ The dependency tree below lists every package in this project — direct and tra
159
141
 
160
142
  ## Bundle Analysis
161
143
 
162
- The Bundle Analysis Report is generated automatically on each release using [Sonda](https://sonda.dev/), which analyses final source maps to reveal the actual effects of tree-shaking and minification rather than relying on pre-build estimates.
144
+ This report is updated with each release, from the bundle the release builds, using [Sonda](https://sonda.dev/), which analyses final source maps to reveal the actual effects of tree-shaking and minification rather than relying on pre-build estimates.
163
145
 
164
146
  _Note: Sonda's Vite reports currently exclude CSS files, since Vite does not generate source maps for CSS._
165
147
 
166
- |Chunk/Module/File|Composition|
167
- |:------ |:-----------|
168
- | dist/componentConfig.schema-DT3mO5rS.js | 10.2 kB · gzip 2.6 kB |
169
- | &nbsp;&nbsp;&nbsp;&nbsp;valibot → dist/index.mjs | `████░░░░░░░░░░░░░░░░` 20.6% |
170
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `█░░░░░░░░░░░░░░░░░░░` 5.2% |
171
- | &nbsp;&nbsp;&nbsp;&nbsp;src | `█░░░░░░░░░░░░░░░░░░░` 4.1% |
172
- | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;componentConfig.schema.ts | `█░░░░░░░░░░░░░░░░░░░` 2.7% |
173
- | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;locale.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.8% |
174
- | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;baseConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.5% |
175
- | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.2% |
176
- | dist/dpuse-shared-encoding.es.js | 7.4 kB · gzip 1.5 kB |
177
- | &nbsp;&nbsp;&nbsp;&nbsp;src → index.ts | `████░░░░░░░░░░░░░░░░` 18.8% |
178
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `█░░░░░░░░░░░░░░░░░░░` 2.9% |
179
- | dist/dpuse-shared-errors.es.js | 4.6 kB · gzip 1.7 kB |
180
- | &nbsp;&nbsp;&nbsp;&nbsp;src → index.ts | `██░░░░░░░░░░░░░░░░░░` 12.2% |
181
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 1.4% |
182
- | dist/dpuse-shared-componentModuleConnector.es.js | 3.6 kB · gzip 1.3 kB |
183
- | &nbsp;&nbsp;&nbsp;&nbsp;src | `██░░░░░░░░░░░░░░░░░░` 8.3% |
184
- | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index.ts | `█░░░░░░░░░░░░░░░░░░░` 6.0% |
185
- | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connectorConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 2.3% |
186
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 2.2% |
187
- | dist/dpuse-shared-utilities.es.js | 3.5 kB · gzip 1.3 kB |
188
- | &nbsp;&nbsp;&nbsp;&nbsp;src → index.ts | `██░░░░░░░░░░░░░░░░░░` 8.9% |
189
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 1.4% |
190
- | dist/dpuse-shared-locale.es.js | 856 B · gzip 386 B |
191
- | &nbsp;&nbsp;&nbsp;&nbsp;src → index.ts | `░░░░░░░░░░░░░░░░░░░░` 1.6% |
192
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.9% |
193
- | dist/dpuse-shared-component.es.js | 834 B · gzip 415 B |
194
- | &nbsp;&nbsp;&nbsp;&nbsp;src → index.ts | `░░░░░░░░░░░░░░░░░░░░` 1.5% |
195
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.9% |
196
- | dist/dpuse-shared-componentModuleTool.es.js | 784 B · gzip 450 B |
197
- | &nbsp;&nbsp;&nbsp;&nbsp;src → index.ts | `░░░░░░░░░░░░░░░░░░░░` 1.7% |
198
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.6% |
199
- | dist/dpuse-shared-componentDataView.es.js | 701 B · gzip 355 B |
200
- | &nbsp;&nbsp;&nbsp;&nbsp;src → index.ts | `░░░░░░░░░░░░░░░░░░░░` 1.6% |
201
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.4% |
202
- | dist/dpuse-shared-componentModulePresenter.es.js | 411 B · gzip 269 B |
203
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.8% |
204
- | &nbsp;&nbsp;&nbsp;&nbsp;src → presenterConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.4% |
205
- | dist/moduleConfig.schema-aYmFWSrn.js | 405 B · gzip 274 B |
206
- | &nbsp;&nbsp;&nbsp;&nbsp;src → moduleConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.6% |
207
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.6% |
208
- | dist/dpuse-shared-componentModuleCookbook.es.js | 370 B · gzip 248 B |
209
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.8% |
210
- | &nbsp;&nbsp;&nbsp;&nbsp;src → cookbookConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.3% |
211
- | dist/label-DexpXrnC.js | 361 B · gzip 251 B |
212
- | &nbsp;&nbsp;&nbsp;&nbsp;src → label.ts | `░░░░░░░░░░░░░░░░░░░░` 0.8% |
213
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.3% |
214
- | dist/dpuse-shared-componentRecipe.es.js | 94 B · gzip 110 B |
215
- | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `░░░░░░░░░░░░░░░░░░░░` 0.2% |
216
- | &nbsp;&nbsp;&nbsp;&nbsp;src → index.ts | `░░░░░░░░░░░░░░░░░░░░` 0.0% |
217
- | dist/dpuse-shared-componentConnection.es.js | 0 B · gzip 20 B |
218
- | dist/dpuse-shared-componentContext.es.js | 0 B · gzip 20 B |
219
- | dist/dpuse-shared-componentContextModel.es.js | 0 B · gzip 20 B |
220
- | dist/dpuse-shared-componentContextModelDimension.es.js | 0 B · gzip 20 B |
221
- | dist/dpuse-shared-componentContextModelDimensionHierarchy.es.js | 0 B · gzip 20 B |
222
- | dist/dpuse-shared-componentContextModelEntity.es.js | 0 B · gzip 20 B |
223
- | dist/dpuse-shared-componentContextModelEntityDataItem.es.js | 0 B · gzip 20 B |
224
- | dist/dpuse-shared-componentContextModelEntityEvent.es.js | 0 B · gzip 20 B |
225
- | dist/dpuse-shared-componentContextModelEntityPrimaryMeasure.es.js | 0 B · gzip 20 B |
226
- | dist/dpuse-shared-componentContextModelSecondaryMeasure.es.js | 0 B · gzip 20 B |
227
- | dist/dpuse-shared-componentEventQuery.es.js | 0 B · gzip 20 B |
228
- | dist/dpuse-shared-componentModule.es.js | 0 B · gzip 20 B |
229
- | dist/dpuse-shared-componentModuleEngine.es.js | 0 B · gzip 20 B |
230
- | dist/dpuse-shared-componentPresentation.es.js | 0 B · gzip 20 B |
231
- | dist/dpuse-shared.es.js | 0 B · gzip 20 B |
148
+ | Chunk/Module/File | Composition |
149
+ | :------------------------------------------------------------------------ | :--------------------------- |
150
+ | dist/dpuse-shared.es.js | 33.1 kB · gzip 8.6 kB |
151
+ | &nbsp;&nbsp;&nbsp;&nbsp;src | `█████████████░░░░░░░` 64.3% |
152
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index.ts | `███████████░░░░░░░░░` 53.7% |
153
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connectorConfig.schema.ts | `█░░░░░░░░░░░░░░░░░░░` 3.6% |
154
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;componentConfig.schema.ts | `█░░░░░░░░░░░░░░░░░░░` 2.8% |
155
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;moduleConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.9% |
156
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label.ts | `░░░░░░░░░░░░░░░░░░░░` 0.8% |
157
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;locale.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.8% |
158
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;presenterConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.6% |
159
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;baseConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.6% |
160
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookbookConfig.schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.5% |
161
+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;schema.ts | `░░░░░░░░░░░░░░░░░░░░` 0.2% |
162
+ | &nbsp;&nbsp;&nbsp;&nbsp;valibot → dist/index.mjs | `████░░░░░░░░░░░░░░░░` 21.2% |
163
+ | &nbsp;&nbsp;&nbsp;&nbsp;(bundler output, whitespace & JSON) | `███░░░░░░░░░░░░░░░░░` 14.5% |
232
164
 
233
165
  (bundler output, whitespace & JSON) = bytes Sonda can't trace to a source file: whitespace (indentation and line breaks), code the bundler generates (region comments, the combined import/export lines, its small runtime helper and wrappers), and imported JSON such as `config.json`, which the bundler doesn't map. The JSON and the generated code are real bytes that ship; the whitespace mostly disappears once compressed.
234
166
 
235
167
  <!-- BUNDLE_END -->
236
168
 
237
- <!-- GOVERNANCE_START -->
169
+ <!-- QUALITY_SECURITY_START -->
238
170
 
239
- ## Security & Quality
171
+ ## Quality & Security
240
172
 
241
- ### Checks & Settings
173
+ This section is updated each time `npm run document` is run. Settings come from the repository's workflow files and GitHub. Test coverage and the Fallow score are measured at the same time.
242
174
 
243
- Read from the repository each time this README is generated, so the status is current as of the latest release.
175
+ ### Testing
244
176
 
245
- |Check or setting|Status|What it does|
246
- |:-|:-|:-|
247
- |[CodeQL](https://github.com/dpuse/dpuse-shared/security/code-scanning)|✅ GitHub Actions, JavaScript/TypeScript|Static analysis for security vulnerabilities and coding errors, on every push and pull request to `main` and weekly.|
248
- |[SonarCloud](https://sonarcloud.io/summary/new_code?id=dpuse_dpuse-shared)|✅ On|Code quality and security analysis on every push: bugs, code smells and vulnerabilities.|
249
- |Unit tests|✅ On|Run in CI on every push to `main`.|
250
- |Property-based tests|✅ fast-check|Fuzz testing: many random inputs per test to find edge cases, run with the unit tests.|
251
- |npm audit|✅ On|Fails CI when any dependency has a known vulnerability.|
252
- |[Socket.dev](https://socket.dev)|✅ On|Flags supply chain risk in dependencies: malicious packages, typosquatting and suspicious behaviour that may not yet have a CVE.|
253
- |Dependabot alerts|✅ On|Alerts when a dependency has a known vulnerability, using the GitHub Advisory Database.|
254
- |Dependabot security updates|❌ Off|Opens pull requests that update vulnerable dependencies.|
255
- |Dependabot version updates|❌ Off|Opens pull requests for new dependency versions.|
256
- |Secret scanning|✅ On|Detects credentials, such as API keys and tokens, committed to the repository.|
257
- |Push protection|✅ On|Blocks pushes that contain credentials.|
258
- |Private vulnerability reporting|✅ On|Lets anyone report a vulnerability privately. See [Reporting Vulnerabilities](#reporting-vulnerabilities).|
177
+ | Check | Status | What it does |
178
+ | :------------------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
179
+ | Unit tests | ✅ On | [Vitest](https://vitest.dev) runs the unit tests. Part of the [CI workflow](https://github.com/dpuse/dpuse-shared/actions/workflows/ci.yml) on every push to `main`. |
180
+ | Property-based tests | ✅ On | [fast-check](https://fast-check.dev) runs many random inputs per test to find edge cases, alongside the unit tests. Part of the [CI workflow](https://github.com/dpuse/dpuse-shared/actions/workflows/ci.yml) on every push to `main`. |
181
+ | Test coverage | ✅ On | ![Coverage](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdpuse%2Fdpuse-shared%2Fmain%2Fcode-health-reports%2Fvitest%2Fbadge.json) [Vitest's V8 coverage](https://vitest.dev/guide/coverage) measures the share of source lines the unit tests run. The target is 80%. |
259
182
 
260
- ### Code Health
183
+ ### Code Quality
261
184
 
262
- [![Fallow code health](https://img.shields.io/badge/fallow-A%20%2890%29-brightgreen)](./code-health-reports/fallow/index.md)
185
+ | Check | Status | What it does |
186
+ | :------------ | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
187
+ | Code health | ✅ On | [![Fallow code health](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdpuse%2Fdpuse-shared%2Fmain%2Fcode-health-reports%2Ffallow%2Fbadge.json)](./code-health-reports/fallow/index.md) [Fallow](https://github.com/fallow-rs/fallow) finds unused code, duplication, complexity and dependency problems. |
188
+ | Code analysis | ✅ On | [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=dpuse_dpuse-shared&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=dpuse_dpuse-shared) [SonarCloud](https://sonarcloud.io) checks every push for bugs, code smells and vulnerabilities. |
189
+ | Linting | ✅ On | [ESLint](https://eslint.org) checks the code for errors and style problems. Part of the [CI workflow](https://github.com/dpuse/dpuse-shared/actions/workflows/ci.yml) on every push to `main`. |
263
190
 
264
- [Fallow](https://github.com/fallow-rs/fallow) analyses the TypeScript source on each release for unused code, duplication, complexity, and dependency hygiene. See the [full Fallow report](./code-health-reports/fallow/index.md) for every finding.
191
+ ### Security Analysis
265
192
 
266
- |Measure|Value|
267
- |:-|-:|
268
- |Health score|90.0 (A)|
269
- |Maintainability (average)|93.1|
270
- |Unused files|0.0%|
271
- |Unused exports|0.0%|
272
- |Duplicated code|0.0%|
273
- |Functions over the complexity limits|0 of 83|
274
- |Unused dependencies|0|
275
- |Circular dependencies|0|
276
- |Hotspots (complex and often changed)|1|
193
+ | Check | Status | What it does |
194
+ | :-------------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
195
+ | Push protection | ✅ On | [GitHub push protection](https://docs.github.com/en/code-security/secret-scanning/push-protection-for-repositories-and-organizations) blocks pushes that contain credentials. |
196
+ | Static analysis | ✅ On | [![CodeQL](https://github.com/dpuse/dpuse-shared/actions/workflows/codeql.yml/badge.svg)](https://github.com/dpuse/dpuse-shared/security/code-scanning) [CodeQL](https://codeql.github.com) scans GitHub Actions and JavaScript/TypeScript for security vulnerabilities, using the extended security queries, on every push and pull request to `main` and weekly. |
197
+ | Secret scanning | ✅ On | [GitHub secret scanning](https://docs.github.com/en/code-security/secret-scanning) detects credentials, such as API keys and tokens, committed to the repository. |
277
198
 
278
- ### Reporting Vulnerabilities
199
+ ### Dependencies
279
200
 
280
- Please do not open public GitHub issues for security vulnerabilities. Use [GitHub private vulnerability reporting](https://github.com/dpuse/dpuse-shared/security/advisories/new) instead. See [SECURITY.md](./SECURITY.md) for the full disclosure policy, contact details, and expected response times.
201
+ | Check | Status | What it does |
202
+ | :------------------ | :----- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
203
+ | Vulnerability audit | ✅ On | [npm audit](https://docs.npmjs.com/cli/commands/npm-audit) fails when any dependency has a known vulnerability. Part of the [CI workflow](https://github.com/dpuse/dpuse-shared/actions/workflows/ci.yml) on every push to `main`. |
204
+ | Supply chain risk | ✅ On | [Socket](https://socket.dev) flags malicious packages, typosquatting and suspicious behaviour that may not yet have a CVE. |
205
+ | Security alerts | ✅ On | [Dependabot](https://docs.github.com/en/code-security/dependabot) alerts when a dependency has a known vulnerability, using the GitHub Advisory Database. |
206
+ | Security updates | ❌ Off | [Dependabot](https://docs.github.com/en/code-security/dependabot) opens pull requests that update vulnerable dependencies. These are handled manually. |
207
+ | Version updates | ❌ Off | [Dependabot](https://docs.github.com/en/code-security/dependabot) opens pull requests for new dependency versions. These are handled manually. |
281
208
 
282
209
  ### OpenSSF 🚧
283
210
 
284
211
  [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/14952/badge)](https://www.bestpractices.dev/projects/14952)
285
212
  [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/dpuse/dpuse-shared/badge)](https://scorecard.dev/viewer/?uri=github.com/dpuse/dpuse-shared)
286
213
 
287
- This project is working towards the [OpenSSF Best Practices](https://www.bestpractices.dev) Passing badge, a self-certification covering security policy, vulnerability reporting, build processes, code quality, and more. Currently the [OpenSSF Scorecard](https://scorecard.dev/viewer/?uri=github.com/dpuse/dpuse-shared) provides an independent automated assessment of the project's security practices and is an ongoing area of improvement. Apart from the Best Practices badge above, the remaining Scorecard gaps need multi-person review or a pull-request workflow, which this solo-maintained project doesn't use.
214
+ This project is working towards the [OpenSSF Best Practices](https://www.bestpractices.dev) Passing badge, a self-certification covering security policy, vulnerability reporting, build processes, code quality, and more. Currently the [OpenSSF Scorecard](https://scorecard.dev) provides an independent automated assessment of the project's security practices and is an ongoing area of improvement.
215
+
216
+ > [!NOTE]
217
+ > Apart from the Best Practices badge above, the remaining Scorecard gaps need multi-person review or a pull-request workflow, which this solo-maintained project doesn't use.
218
+
219
+ ### Reporting Vulnerabilities
220
+
221
+ Please do not open public GitHub issues for security vulnerabilities. Use [GitHub private vulnerability reporting](https://github.com/dpuse/dpuse-shared/security/advisories/new) instead. See [SECURITY.md](./SECURITY.md) for the full disclosure policy, contact details, and expected response times.
222
+
223
+ <!-- QUALITY_SECURITY_END -->
224
+
225
+ <!-- CONTRIBUTING_LICENSE_START -->
288
226
 
289
227
  ## Contributing
290
228
 
@@ -298,4 +236,4 @@ This project is licensed under the MIT License, permitting free use, modificatio
298
236
 
299
237
  [MIT](./LICENSE) © 2026 Jonathan Terrell
300
238
 
301
- <!-- GOVERNANCE_END -->
239
+ <!-- CONTRIBUTING_LICENSE_END -->