@fjell/registry 4.4.20 → 4.4.22
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/README.md +1 -1
- package/docs/README.md +8 -8
- package/docs/TIMING_NODE_OPTIMIZATION.md +3 -3
- package/docs/TIMING_README.md +2 -2
- package/docs/package.json +1 -1
- package/docs/public/README.md +1 -1
- package/docs/public/TIMING_NODE_OPTIMIZATION.md +2 -2
- package/docs/public/examples/registry-hub-types.ts +0 -0
- package/docs/public/package.json +4 -5
- package/docs/timing-range.svg +39 -39
- package/examples/registry-hub-types.ts +0 -0
- package/package.json +15 -13
- package/docs/src/index.css +0 -34
- package/docs/src/main.tsx +0 -12
- package/docs/src/test/setup.ts +0 -1
- package/docs/src/types.d.ts +0 -52
package/README.md
CHANGED
package/docs/README.md
CHANGED
|
@@ -15,32 +15,32 @@ This is a React-based documentation site for the Fjell Registry package. It prov
|
|
|
15
15
|
### Prerequisites
|
|
16
16
|
|
|
17
17
|
- Node.js 22+
|
|
18
|
-
-
|
|
18
|
+
- npm
|
|
19
19
|
|
|
20
20
|
### Local Development
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
# Install dependencies
|
|
24
|
-
|
|
24
|
+
npm install
|
|
25
25
|
|
|
26
26
|
# Start development server
|
|
27
|
-
|
|
27
|
+
npm run dev
|
|
28
28
|
|
|
29
29
|
# Build for production
|
|
30
|
-
|
|
30
|
+
npm run build
|
|
31
31
|
|
|
32
32
|
# Preview production build
|
|
33
|
-
|
|
33
|
+
npm run preview
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
### Testing
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
# Run tests
|
|
40
|
-
|
|
40
|
+
npm run test
|
|
41
41
|
|
|
42
42
|
# Run tests in watch mode
|
|
43
|
-
|
|
43
|
+
npm run test:watch
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
## Deployment
|
|
@@ -69,6 +69,6 @@ The site is configured to:
|
|
|
69
69
|
The documentation site automatically reflects changes to the main README.md file. To update the site itself:
|
|
70
70
|
|
|
71
71
|
1. Make changes to the React components in `src/`
|
|
72
|
-
2. Test locally with `
|
|
72
|
+
2. Test locally with `npm run dev`
|
|
73
73
|
3. Commit your changes
|
|
74
74
|
4. The site will automatically deploy via GitHub Actions
|
|
@@ -5,7 +5,7 @@ This document outlines Node.js runtime parameters that can be tuned to minimize
|
|
|
5
5
|
## Quick Start: Optimized Timing Test
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
8
|
+
npm run test:timing:optimized
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
This runs timing tests with pre-configured optimal Node.js flags.
|
|
@@ -171,10 +171,10 @@ Test that optimizations are working:
|
|
|
171
171
|
|
|
172
172
|
```bash
|
|
173
173
|
# Run normal timing tests
|
|
174
|
-
|
|
174
|
+
npm run test:timing
|
|
175
175
|
|
|
176
176
|
# Run optimized timing tests
|
|
177
|
-
|
|
177
|
+
npm run test:timing:optimized
|
|
178
178
|
|
|
179
179
|
# Compare results - optimized should show:
|
|
180
180
|
# 1. Lower timing variance (smaller standard deviations)
|
package/docs/TIMING_README.md
CHANGED
|
@@ -10,10 +10,10 @@ The timing test system measures the performance of key operations in the fjell-r
|
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
# Run timing tests specifically
|
|
13
|
-
|
|
13
|
+
npm run test:timing
|
|
14
14
|
|
|
15
15
|
# Run all tests (including timing tests)
|
|
16
|
-
|
|
16
|
+
npm test
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## Measured Operations
|
package/docs/package.json
CHANGED
package/docs/public/README.md
CHANGED
|
@@ -171,10 +171,10 @@ Test that optimizations are working:
|
|
|
171
171
|
|
|
172
172
|
```bash
|
|
173
173
|
# Run normal timing tests
|
|
174
|
-
|
|
174
|
+
npm run test:timing
|
|
175
175
|
|
|
176
176
|
# Run optimized timing tests
|
|
177
|
-
|
|
177
|
+
npm run test:timing:optimized
|
|
178
178
|
|
|
179
179
|
# Compare results - optimized should show:
|
|
180
180
|
# 1. Lower timing variance (smaller standard deviations)
|
|
File without changes
|
package/docs/public/package.json
CHANGED
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
"dev": "concurrently \"tsc --watch --noEmit\" \"vite build --watch\"",
|
|
26
26
|
"lint": "eslint . --ext .ts --fix",
|
|
27
27
|
"clean": "rimraf dist",
|
|
28
|
-
"test": "
|
|
29
|
-
"test:memory:optimized": "
|
|
30
|
-
"test:timing:optimized": "
|
|
31
|
-
"prepublishOnly": "
|
|
28
|
+
"test": "npm run lint && vitest run --coverage",
|
|
29
|
+
"test:memory:optimized": "npm run lint && NODE_OPTIONS=\"--max-old-space-size=8192 --max-semi-space-size=1024\" vitest run tests/memory.test.ts",
|
|
30
|
+
"test:timing:optimized": "npm run lint && NODE_OPTIONS=\"--max-old-space-size=8192 --max-semi-space-size=1024\" vitest run tests/timing.test.ts",
|
|
31
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@fjell/core": "^4.4.7",
|
|
@@ -57,7 +57,6 @@
|
|
|
57
57
|
"vite-plugin-node": "^7.0.0",
|
|
58
58
|
"vitest": "^3.2.4"
|
|
59
59
|
},
|
|
60
|
-
"packageManager": "pnpm@10.13.1",
|
|
61
60
|
"repository": {
|
|
62
61
|
"type": "git",
|
|
63
62
|
"url": "git+https://github.com/getfjell/registry.git"
|
package/docs/timing-range.svg
CHANGED
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
<g transform="translate(110,60)">
|
|
32
32
|
|
|
33
33
|
<!-- Grid lines (logarithmic scale) -->
|
|
34
|
-
<line x1="0" y1="
|
|
35
|
-
<text x="-10" y="
|
|
36
|
-
<line x1="0" y1="
|
|
37
|
-
<text x="-10" y="
|
|
38
|
-
<line x1="0" y1="
|
|
39
|
-
<text x="-10" y="
|
|
40
|
-
<line x1="0" y1="
|
|
41
|
-
<text x="-10" y="
|
|
42
|
-
<line x1="0" y1="
|
|
43
|
-
<text x="-10" y="
|
|
34
|
+
<line x1="0" y1="409.4248343333136" x2="1015" y2="409.4248343333136" class="grid"/>
|
|
35
|
+
<text x="-10" y="413.4248343333136" text-anchor="end" class="label">0.20µs</text>
|
|
36
|
+
<line x1="0" y1="315.6500962348101" x2="1015" y2="315.6500962348101" class="grid"/>
|
|
37
|
+
<text x="-10" y="319.6500962348101" text-anchor="end" class="label">0.50µs</text>
|
|
38
|
+
<line x1="0" y1="244.7122453326445" x2="1015" y2="244.7122453326445" class="grid"/>
|
|
39
|
+
<text x="-10" y="248.7122453326445" text-anchor="end" class="label">1.0µs</text>
|
|
40
|
+
<line x1="0" y1="173.77439443047894" x2="1015" y2="173.77439443047894" class="grid"/>
|
|
41
|
+
<text x="-10" y="177.77439443047894" text-anchor="end" class="label">2.0µs</text>
|
|
42
|
+
<line x1="0" y1="79.99965633197542" x2="1015" y2="79.99965633197542" class="grid"/>
|
|
43
|
+
<text x="-10" y="83.99965633197542" text-anchor="end" class="label">5.0µs</text>
|
|
44
44
|
<line x1="0" y1="0" x2="0" y2="460" class="grid"/>
|
|
45
45
|
<text x="0" y="480" text-anchor="middle" class="label">10</text>
|
|
46
46
|
<line x1="76.38636139973525" y1="0" x2="76.38636139973525" y2="460" class="grid"/>
|
|
@@ -76,34 +76,34 @@
|
|
|
76
76
|
<!-- Axis labels -->
|
|
77
77
|
<text x="507.5" y="510" text-anchor="middle" class="axis-title">Tree Size (items) - Log Scale</text>
|
|
78
78
|
<text transform="rotate(-90,-70,230)" x="-70" y="230" text-anchor="middle" class="axis-title">Execution Time (µs)</text>
|
|
79
|
-
<path d="M 0
|
|
80
|
-
<path d="M 0
|
|
81
|
-
<circle cx="0" cy="
|
|
82
|
-
<circle cx="76.38636139973525" cy="
|
|
83
|
-
<circle cx="177.36363860026475" cy="
|
|
84
|
-
<circle cx="253.75" cy="
|
|
85
|
-
<circle cx="330.1363613997352" cy="
|
|
86
|
-
<circle cx="431.1136386002648" cy="
|
|
87
|
-
<circle cx="507.5" cy="
|
|
88
|
-
<circle cx="583.8863613997353" cy="
|
|
89
|
-
<circle cx="684.8636386002647" cy="
|
|
90
|
-
<circle cx="761.25" cy="
|
|
91
|
-
<circle cx="837.6363613997353" cy="
|
|
92
|
-
<circle cx="938.6136386002647" cy="
|
|
93
|
-
<circle cx="1015" cy="
|
|
94
|
-
<circle cx="0" cy="
|
|
95
|
-
<circle cx="76.38636139973525" cy="
|
|
96
|
-
<circle cx="177.36363860026475" cy="
|
|
97
|
-
<circle cx="253.75" cy="
|
|
98
|
-
<circle cx="330.1363613997352" cy="
|
|
99
|
-
<circle cx="431.1136386002648" cy="
|
|
100
|
-
<circle cx="507.5" cy="
|
|
101
|
-
<circle cx="583.8863613997353" cy="
|
|
102
|
-
<circle cx="684.8636386002647" cy="
|
|
103
|
-
<circle cx="761.25" cy="
|
|
104
|
-
<circle cx="837.6363613997353" cy="
|
|
105
|
-
<circle cx="938.6136386002647" cy="
|
|
106
|
-
<circle cx="1015" cy="
|
|
79
|
+
<path d="M 0 135.24798501632807 L 76.38636139973525 81.37800325481362 L 177.36363860026475 164.8553002461701 L 253.75 70.93785090216556 L 330.1363613997352 208.77160665019417 L 431.1136386002648 102.45398980093603 L 507.5 152.88355990786437 L 583.8863613997353 167.11250164835803 L 684.8636386002647 157.71948768486385 L 761.25 208.63620084646618 L 837.6363613997353 165.34427441671193 L 938.6136386002647 220.79219486386418 L 1015 214.45642412767756" class="register-mean"/>
|
|
80
|
+
<path d="M 0 229.12306123894965 L 76.38636139973525 379.87811958586695 L 177.36363860026475 361.63841455024703 L 253.75 333.2697839278607 L 330.1363613997352 374.2763468256818 L 431.1136386002648 376.10709741728203 L 507.5 389.06214909783444 L 583.8863613997353 381.32135389237726 L 684.8636386002647 280.0988191788659 L 761.25 294.29830763362236 L 837.6363613997353 331.55885750384425 L 938.6136386002647 311.90261723503045 L 1015 312.0321436872316" class="lookup-mean"/>
|
|
81
|
+
<circle cx="0" cy="135.24798501632807" r="4" class="register-dot"/>
|
|
82
|
+
<circle cx="76.38636139973525" cy="81.37800325481362" r="4" class="register-dot"/>
|
|
83
|
+
<circle cx="177.36363860026475" cy="164.8553002461701" r="4" class="register-dot"/>
|
|
84
|
+
<circle cx="253.75" cy="70.93785090216556" r="4" class="register-dot"/>
|
|
85
|
+
<circle cx="330.1363613997352" cy="208.77160665019417" r="4" class="register-dot"/>
|
|
86
|
+
<circle cx="431.1136386002648" cy="102.45398980093603" r="4" class="register-dot"/>
|
|
87
|
+
<circle cx="507.5" cy="152.88355990786437" r="4" class="register-dot"/>
|
|
88
|
+
<circle cx="583.8863613997353" cy="167.11250164835803" r="4" class="register-dot"/>
|
|
89
|
+
<circle cx="684.8636386002647" cy="157.71948768486385" r="4" class="register-dot"/>
|
|
90
|
+
<circle cx="761.25" cy="208.63620084646618" r="4" class="register-dot"/>
|
|
91
|
+
<circle cx="837.6363613997353" cy="165.34427441671193" r="4" class="register-dot"/>
|
|
92
|
+
<circle cx="938.6136386002647" cy="220.79219486386418" r="4" class="register-dot"/>
|
|
93
|
+
<circle cx="1015" cy="214.45642412767756" r="4" class="register-dot"/>
|
|
94
|
+
<circle cx="0" cy="229.12306123894965" r="4" class="lookup-dot"/>
|
|
95
|
+
<circle cx="76.38636139973525" cy="379.87811958586695" r="4" class="lookup-dot"/>
|
|
96
|
+
<circle cx="177.36363860026475" cy="361.63841455024703" r="4" class="lookup-dot"/>
|
|
97
|
+
<circle cx="253.75" cy="333.2697839278607" r="4" class="lookup-dot"/>
|
|
98
|
+
<circle cx="330.1363613997352" cy="374.2763468256818" r="4" class="lookup-dot"/>
|
|
99
|
+
<circle cx="431.1136386002648" cy="376.10709741728203" r="4" class="lookup-dot"/>
|
|
100
|
+
<circle cx="507.5" cy="389.06214909783444" r="4" class="lookup-dot"/>
|
|
101
|
+
<circle cx="583.8863613997353" cy="381.32135389237726" r="4" class="lookup-dot"/>
|
|
102
|
+
<circle cx="684.8636386002647" cy="280.0988191788659" r="4" class="lookup-dot"/>
|
|
103
|
+
<circle cx="761.25" cy="294.29830763362236" r="4" class="lookup-dot"/>
|
|
104
|
+
<circle cx="837.6363613997353" cy="331.55885750384425" r="4" class="lookup-dot"/>
|
|
105
|
+
<circle cx="938.6136386002647" cy="311.90261723503045" r="4" class="lookup-dot"/>
|
|
106
|
+
<circle cx="1015" cy="312.0321436872316" r="4" class="lookup-dot"/>
|
|
107
107
|
<!-- Legend -->
|
|
108
108
|
<g transform="translate(20, 20)">
|
|
109
109
|
<rect x="0" y="0" width="190" height="80" fill="white" stroke="#ccc" stroke-width="1"/>
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
<text x="0" y="0" class="metadata-section">System Information</text>
|
|
131
131
|
|
|
132
132
|
<text x="0" y="25" class="metadata-label">Test Date:</text>
|
|
133
|
-
<text x="150" y="25" class="metadata-value">2025-07-
|
|
133
|
+
<text x="150" y="25" class="metadata-value">2025-07-26</text>
|
|
134
134
|
|
|
135
135
|
<text x="0" y="45" class="metadata-label">Package Version:</text>
|
|
136
136
|
<text x="150" y="45" class="metadata-value">@fjell/registry v4.4.5</text>
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjell/registry",
|
|
3
3
|
"description": "Dependency injection and service location system for the Fjell ecosystem",
|
|
4
|
-
"version": "4.4.
|
|
4
|
+
"version": "4.4.22",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"registry",
|
|
7
7
|
"dependency-injection",
|
|
@@ -18,6 +18,19 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"type": "module",
|
|
21
|
+
"scripts": {
|
|
22
|
+
"lint": "eslint . --ext .ts --fix",
|
|
23
|
+
"dev": "concurrently \"tsc --noEmit --watch\" \"node build.js --watch\"",
|
|
24
|
+
"build": "npm run lint && tsc --noEmit && node build.js",
|
|
25
|
+
"typecheck": "tsc --noEmit",
|
|
26
|
+
"clean": "rimraf dist",
|
|
27
|
+
"test": "npm run lint && vitest run --coverage",
|
|
28
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
29
|
+
"docs:dev": "cd docs && npm run dev",
|
|
30
|
+
"docs:build": "cd docs && npm run build",
|
|
31
|
+
"docs:preview": "cd docs && npm run preview",
|
|
32
|
+
"docs:test": "cd docs && npm run test"
|
|
33
|
+
},
|
|
21
34
|
"dependencies": {
|
|
22
35
|
"@fjell/core": "^4.4.25",
|
|
23
36
|
"@fjell/logging": "^4.4.30"
|
|
@@ -34,6 +47,7 @@
|
|
|
34
47
|
"concurrently": "^9.2.0",
|
|
35
48
|
"esbuild": "^0.25.8",
|
|
36
49
|
"eslint": "^9.32.0",
|
|
50
|
+
"jsdom": "^26.1.0",
|
|
37
51
|
"rimraf": "^6.0.1",
|
|
38
52
|
"typescript": "^5.8.3",
|
|
39
53
|
"vitest": "3.2.4"
|
|
@@ -41,17 +55,5 @@
|
|
|
41
55
|
"repository": {
|
|
42
56
|
"type": "git",
|
|
43
57
|
"url": "git+https://github.com/getfjell/registry.git"
|
|
44
|
-
},
|
|
45
|
-
"scripts": {
|
|
46
|
-
"lint": "eslint . --ext .ts --fix",
|
|
47
|
-
"dev": "concurrently \"tsc --noEmit --watch\" \"node build.js --watch\"",
|
|
48
|
-
"build": "pnpm run lint && tsc --noEmit && node build.js",
|
|
49
|
-
"typecheck": "tsc --noEmit",
|
|
50
|
-
"clean": "rimraf dist",
|
|
51
|
-
"test": "pnpm run lint && vitest run --coverage",
|
|
52
|
-
"docs:dev": "cd docs && npm run dev",
|
|
53
|
-
"docs:build": "cd docs && npm run build",
|
|
54
|
-
"docs:preview": "cd docs && npm run preview",
|
|
55
|
-
"docs:test": "cd docs && npm run test"
|
|
56
58
|
}
|
|
57
59
|
}
|
package/docs/src/index.css
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--fjell-blue: #2563eb;
|
|
3
|
-
--fjell-blue-light: #3b82f6;
|
|
4
|
-
--fjell-gray: #374151;
|
|
5
|
-
--fjell-gray-light: #6b7280;
|
|
6
|
-
--fjell-background: #f9fafb;
|
|
7
|
-
--fjell-border: #e5e7eb;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
* {
|
|
11
|
-
box-sizing: border-box;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
body {
|
|
15
|
-
margin: 0;
|
|
16
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
17
|
-
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
18
|
-
sans-serif;
|
|
19
|
-
-webkit-font-smoothing: antialiased;
|
|
20
|
-
-moz-osx-font-smoothing: grayscale;
|
|
21
|
-
color: var(--fjell-gray);
|
|
22
|
-
background-color: var(--fjell-background);
|
|
23
|
-
line-height: 1.6;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
code {
|
|
27
|
-
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
|
|
28
|
-
background-color: #f1f5f9;
|
|
29
|
-
padding: 0.125rem 0.25rem;
|
|
30
|
-
border-radius: 0.25rem;
|
|
31
|
-
font-size: 0.875em;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/* Removed conflicting pre code styles - handled in App.css */
|
package/docs/src/main.tsx
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import ReactDOM from 'react-dom/client'
|
|
3
|
-
import { DocsApp } from '@fjell/docs-template'
|
|
4
|
-
import '@fjell/docs-template/dist/index.css'
|
|
5
|
-
import config from '../docs.config'
|
|
6
|
-
import './index.css'
|
|
7
|
-
|
|
8
|
-
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
9
|
-
<React.StrictMode>
|
|
10
|
-
<DocsApp config={config} />
|
|
11
|
-
</React.StrictMode>,
|
|
12
|
-
)
|
package/docs/src/test/setup.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom'
|
package/docs/src/types.d.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
// Types are provided by the @fjell/docs-template package
|
|
2
|
-
|
|
3
|
-
declare module '@fjell/docs-template' {
|
|
4
|
-
export interface DocsConfig {
|
|
5
|
-
projectName: string;
|
|
6
|
-
basePath: string;
|
|
7
|
-
port: number;
|
|
8
|
-
branding: {
|
|
9
|
-
theme: string;
|
|
10
|
-
tagline: string;
|
|
11
|
-
logo?: string;
|
|
12
|
-
backgroundImage?: string;
|
|
13
|
-
primaryColor?: string;
|
|
14
|
-
accentColor?: string;
|
|
15
|
-
github?: string;
|
|
16
|
-
npm?: string;
|
|
17
|
-
};
|
|
18
|
-
sections: Array<{
|
|
19
|
-
id: string;
|
|
20
|
-
title: string;
|
|
21
|
-
subtitle: string;
|
|
22
|
-
file: string;
|
|
23
|
-
}>;
|
|
24
|
-
filesToCopy: Array<{
|
|
25
|
-
source: string;
|
|
26
|
-
destination: string;
|
|
27
|
-
}>;
|
|
28
|
-
plugins?: any[];
|
|
29
|
-
version: {
|
|
30
|
-
source: string;
|
|
31
|
-
};
|
|
32
|
-
customContent?: {
|
|
33
|
-
[key: string]: (content: string) => string;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface DocsAppProps {
|
|
38
|
-
config: DocsConfig;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export const DocsApp: any;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
declare module '@fjell/docs-template/config' {
|
|
45
|
-
export function createDocsViteConfig(options?: {
|
|
46
|
-
basePath?: string;
|
|
47
|
-
port?: number;
|
|
48
|
-
plugins?: any[];
|
|
49
|
-
packageJsonPath?: string;
|
|
50
|
-
defineVars?: Record<string, any>;
|
|
51
|
-
}): any;
|
|
52
|
-
}
|