@hyperfrontend/list-utils 0.1.1 → 0.1.2
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 +63 -0
- package/README.md +8 -2
- package/{index.cjs.js → index.cjs} +17 -17
- package/{index.esm.js → index.mjs} +5 -5
- package/package.json +8 -6
- /package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/{index.cjs.js → index.cjs} +0 -0
- /package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/{index.esm.js → index.mjs} +0 -0
- /package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/{index.cjs.js → index.cjs} +0 -0
- /package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/{index.esm.js → index.mjs} +0 -0
- /package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/{index.cjs.js → index.cjs} +0 -0
- /package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/{index.esm.js → index.mjs} +0 -0
- /package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/{index.cjs.js → index.cjs} +0 -0
- /package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/{index.esm.js → index.mjs} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,69 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.1.2](https://github.com/AndrewRedican/hyperfrontend/compare/41325ecf9b3f15f597cddadd5fbe6ab68f59eab7...e1fedeaec2e4a890fb7767750298f48de3434cbe) - 2026-11-05
|
|
6
|
+
|
|
7
|
+
### Breaking Changes
|
|
8
|
+
|
|
9
|
+
- **BREAKING** **lib-builder:** stop loading the rollup worker from the bundle/rollup entry
|
|
10
|
+
- **BREAKING** **lib-builder:** emit index.mjs and index.cjs for module outputs
|
|
11
|
+
- **BREAKING** **lib-builder:** fail the build on a declared export it cannot publish
|
|
12
|
+
|
|
13
|
+
### Dependency Updates
|
|
14
|
+
|
|
15
|
+
- **tool-package:** let the version batch inherit the commit window
|
|
16
|
+
- **tool-package:** release a library the graph rebuilds
|
|
17
|
+
- **tool-package:** declare operating systems in make-publishable output
|
|
18
|
+
- **tool-package:** quote the e2e and publish executors' npm spawns for cmd.exe
|
|
19
|
+
- **tool-package:** run the nx e2e suites one at a time on windows
|
|
20
|
+
- **lib-builder:** keep platform-restricted packages external
|
|
21
|
+
- **lib-builder:** keep chunks a bare side-effect import reaches
|
|
22
|
+
- **lib-builder:** fail the build on a declaration alias cycle between entries
|
|
23
|
+
- **lib-builder:** list every third-party package the output inlines in THIRD_PARTY_LICENSES.md
|
|
24
|
+
- **lib-builder:** reproduce dependency license texts in THIRD_PARTY_LICENSES.md
|
|
25
|
+
- **tool-package:** drop npm's silent flag from the version remedies
|
|
26
|
+
- **tool-package:** locate generator templates from the tree root
|
|
27
|
+
- **tool-package:** add a provenance option to the publish executor
|
|
28
|
+
- **tool-package:** locate the test runner from the workspace root
|
|
29
|
+
- **tool-package:** scaffold e2e specs on the packed consumer
|
|
30
|
+
- **tool-package:** hand e2e suites the packed tarball path
|
|
31
|
+
- **lib-builder:** skip type checking in workers that drop diagnostics
|
|
32
|
+
- **lib-builder:** build browser bundles from one entry, refuse several
|
|
33
|
+
- **lib-builder:** inline dynamic imports into each library entry bundle
|
|
34
|
+
- **tool-package:** drop the e2e template's unknown rule directive
|
|
35
|
+
- **tool-package:** keep existing config when make-publishable re-runs
|
|
36
|
+
- **tool-package:** import make-publishable statically
|
|
37
|
+
- **tool-package:** scaffold libraries with the workspace lint config
|
|
38
|
+
- **lib-builder:** strip lint pragmas from bundled dependency code
|
|
39
|
+
- **tool-package:** typecheck each project's spec config alongside its library config
|
|
40
|
+
- **tool-package:** scaffold e2e projects with an audit target and assertive spec names
|
|
41
|
+
- **tool-package:** scaffold libraries at 0.0.0 with a bare test target and runner config types
|
|
42
|
+
- **tool-package:** register a publishable library in ci, the root readme and the docs site
|
|
43
|
+
- **lib-builder:** build the bin descriptor's output dir natively
|
|
44
|
+
- **lib-builder:** keep resolved workspace dependency paths native
|
|
45
|
+
- **tool-package:** quote the tarball path when npm runs through the windows shell
|
|
46
|
+
- **lib-builder:** drop type diagnostics computed without path mappings
|
|
47
|
+
- **lib-builder:** retry report directory removal on transient windows locks
|
|
48
|
+
- **lib-builder:** keep core modules external without module.isBuiltin
|
|
49
|
+
- **BREAKING** **lib-builder:** stop loading the rollup worker from the bundle/rollup entry
|
|
50
|
+
- **lib-builder:** expose the crypto global to the rollup worker on node 18
|
|
51
|
+
- **BREAKING** **lib-builder:** emit index.mjs and index.cjs for module outputs
|
|
52
|
+
- **tool-package:** run the tsc entry script on node for typecheck
|
|
53
|
+
- **lib-builder:** run the tsc entry script on node for declaration emit
|
|
54
|
+
- **tool-package:** pass the e2e executor preloads as file urls
|
|
55
|
+
- **tool-package:** pass the test executor preload as a file url
|
|
56
|
+
- **tool-package:** report workspace-relative paths with posix separators
|
|
57
|
+
- **tool-package:** split text on crlf line endings
|
|
58
|
+
- **tool-package:** spawn npm through a shell on windows
|
|
59
|
+
- **lib-builder:** split worker stderr on crlf line endings
|
|
60
|
+
- **lib-builder:** rewrite only native separators to forward slashes
|
|
61
|
+
- **lib-builder:** walk up to package.json from native windows paths
|
|
62
|
+
- **lib-builder:** guard bundled deps against native windows paths
|
|
63
|
+
- **BREAKING** **lib-builder:** fail the build on a declared export it cannot publish
|
|
64
|
+
- **tool-package:** fold the compatibility matrix into the version commit
|
|
65
|
+
- **tool-package:** expose the builder clean option to projects
|
|
66
|
+
- **lib-builder:** clean only an owned output and add the clean option
|
|
67
|
+
|
|
5
68
|
## [0.1.1](https://github.com/AndrewRedican/hyperfrontend/compare/29dc54d58c2b3c8b8dd35f7c546ebc6cd9191f6e...adf0a4f77dece2be855e7ab88185a4fe84e7b16b) - 2026-09-14
|
|
6
69
|
|
|
7
70
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -132,12 +132,18 @@ Every signature, type parameter and thrown error is in the [API reference](https
|
|
|
132
132
|
</a>
|
|
133
133
|
</p>
|
|
134
134
|
|
|
135
|
+
| Operating System | Supported |
|
|
136
|
+
| ---------------- | :-------: |
|
|
137
|
+
| Linux | ✅ |
|
|
138
|
+
| macOS | ✅ |
|
|
139
|
+
| Windows | ✅ |
|
|
140
|
+
|
|
135
141
|
### Output Formats
|
|
136
142
|
|
|
137
143
|
| Format | File | Tree-Shakeable |
|
|
138
144
|
| ------ | -------------------------- | :------------: |
|
|
139
|
-
| ESM | `index.
|
|
140
|
-
| CJS | `index.cjs
|
|
145
|
+
| ESM | `index.mjs` | ✅ |
|
|
146
|
+
| CJS | `index.cjs` | ❌ |
|
|
141
147
|
| IIFE | `bundle/index.iife.min.js` | ❌ |
|
|
142
148
|
| UMD | `bundle/index.umd.min.js` | ❌ |
|
|
143
149
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
3
|
+
const index_cjs$3 = require('./_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs');
|
|
4
|
+
const index_cjs$2 = require('./_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs');
|
|
5
|
+
const index_cjs$1 = require('./_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs');
|
|
6
|
+
const index_cjs = require('./_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Reports whether a value is a non-primitive, the only kind of value these lists accept.
|
|
@@ -33,13 +33,13 @@ const isNonPrimitive$1 = (value) => (typeof value === 'object' && value !== null
|
|
|
33
33
|
* @throws {Error} When the pushed item is already in the list. Use has() to check first if a duplicate is expected.
|
|
34
34
|
*/
|
|
35
35
|
function createFifoList() {
|
|
36
|
-
const list =
|
|
36
|
+
const list = index_cjs.createSet();
|
|
37
37
|
const push = (item) => {
|
|
38
38
|
if (!isNonPrimitive$1(item)) {
|
|
39
|
-
throw
|
|
39
|
+
throw index_cjs$2.createError('A fifo list only supports non-primitive values');
|
|
40
40
|
}
|
|
41
41
|
if (list.has(item)) {
|
|
42
|
-
throw
|
|
42
|
+
throw index_cjs$2.createError('Cannot push an item that already exists in the list');
|
|
43
43
|
}
|
|
44
44
|
list.add(item);
|
|
45
45
|
};
|
|
@@ -49,7 +49,7 @@ function createFifoList() {
|
|
|
49
49
|
return value;
|
|
50
50
|
};
|
|
51
51
|
const map = (callback) => {
|
|
52
|
-
return
|
|
52
|
+
return index_cjs$3.from(list.values()).map(callback);
|
|
53
53
|
};
|
|
54
54
|
const forEach = (callback) => {
|
|
55
55
|
list.forEach(callback);
|
|
@@ -68,7 +68,7 @@ function createFifoList() {
|
|
|
68
68
|
size,
|
|
69
69
|
clear,
|
|
70
70
|
};
|
|
71
|
-
return
|
|
71
|
+
return index_cjs$1.freeze(result);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
/**
|
|
@@ -96,22 +96,22 @@ const isNonPrimitive = (value) => (typeof value === 'object' && value !== null)
|
|
|
96
96
|
* ```
|
|
97
97
|
*/
|
|
98
98
|
function createLifoList() {
|
|
99
|
-
const list =
|
|
99
|
+
const list = index_cjs.createSet();
|
|
100
100
|
const push = (item) => {
|
|
101
101
|
if (!isNonPrimitive(item)) {
|
|
102
|
-
throw
|
|
102
|
+
throw index_cjs$2.createError('A lifo list only supports non-primitive values');
|
|
103
103
|
}
|
|
104
104
|
list.add(item);
|
|
105
105
|
};
|
|
106
106
|
const pull = () => {
|
|
107
|
-
const lastItem =
|
|
107
|
+
const lastItem = index_cjs$3.from(list).pop();
|
|
108
108
|
if (lastItem) {
|
|
109
109
|
list.delete(lastItem);
|
|
110
110
|
}
|
|
111
111
|
return lastItem;
|
|
112
112
|
};
|
|
113
113
|
const map = (callback) => {
|
|
114
|
-
return
|
|
114
|
+
return index_cjs$3.from(list).map(callback);
|
|
115
115
|
};
|
|
116
116
|
const forEach = (callback) => {
|
|
117
117
|
list.forEach(callback);
|
|
@@ -132,7 +132,7 @@ function createLifoList() {
|
|
|
132
132
|
size,
|
|
133
133
|
clear,
|
|
134
134
|
};
|
|
135
|
-
return
|
|
135
|
+
return index_cjs$1.freeze(result);
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
/**
|
|
@@ -176,7 +176,7 @@ function createRange(start, end) {
|
|
|
176
176
|
*/
|
|
177
177
|
function createValuePicker(values) {
|
|
178
178
|
if (!values || !values.length) {
|
|
179
|
-
throw
|
|
179
|
+
throw index_cjs$2.createError('Expected values not to be an empty list.');
|
|
180
180
|
}
|
|
181
181
|
let index = -1;
|
|
182
182
|
/**
|
|
@@ -206,7 +206,7 @@ function createValuePicker(values) {
|
|
|
206
206
|
};
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
/*
|
|
209
|
+
/* lint-disable typescript/no-explicit-any */
|
|
210
210
|
/**
|
|
211
211
|
* Retrieves the final key from a Map by converting keys to an array.
|
|
212
212
|
*
|
|
@@ -254,7 +254,7 @@ function nonEmptyStrings(values) {
|
|
|
254
254
|
* ```
|
|
255
255
|
*/
|
|
256
256
|
function uniqueStrings(values) {
|
|
257
|
-
return
|
|
257
|
+
return index_cjs$3.from(index_cjs.createSet(values));
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
exports.createFifoList = createFifoList;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { from } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.
|
|
2
|
-
import { createError } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.
|
|
3
|
-
import { freeze } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.
|
|
4
|
-
import { createSet } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.
|
|
1
|
+
import { from } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.mjs';
|
|
2
|
+
import { createError } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.mjs';
|
|
3
|
+
import { freeze } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.mjs';
|
|
4
|
+
import { createSet } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Reports whether a value is a non-primitive, the only kind of value these lists accept.
|
|
@@ -204,7 +204,7 @@ function createValuePicker(values) {
|
|
|
204
204
|
};
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
/*
|
|
207
|
+
/* lint-disable typescript/no-explicit-any */
|
|
208
208
|
/**
|
|
209
209
|
* Retrieves the final key from a Map by converting keys to an array.
|
|
210
210
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperfrontend/list-utils",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Purpose-built collection utilities for queue management, filtering, and iteration patterns.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"./package.json": "./package.json",
|
|
30
30
|
".": {
|
|
31
31
|
"types": "./index.d.ts",
|
|
32
|
-
"import": "./index.
|
|
33
|
-
"require": "./index.cjs
|
|
32
|
+
"import": "./index.mjs",
|
|
33
|
+
"require": "./index.cjs"
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"repository": {
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"name": "andrew.redican.mejia@gmail.com",
|
|
46
46
|
"url": "https://hyperfrontend.dev"
|
|
47
47
|
},
|
|
48
|
-
"main": "./index.cjs
|
|
49
|
-
"module": "./index.
|
|
48
|
+
"main": "./index.cjs",
|
|
49
|
+
"module": "./index.mjs",
|
|
50
50
|
"types": "./index.d.ts",
|
|
51
51
|
"unpkg": "./bundle/index.umd.min.js",
|
|
52
52
|
"jsdelivr": "./bundle/index.umd.min.js",
|
|
@@ -57,6 +57,8 @@
|
|
|
57
57
|
"LICENSE.md",
|
|
58
58
|
"README.md",
|
|
59
59
|
"SECURITY.md",
|
|
60
|
-
"!**/*.js.map"
|
|
60
|
+
"!**/*.js.map",
|
|
61
|
+
"!**/*.mjs.map",
|
|
62
|
+
"!**/*.cjs.map"
|
|
61
63
|
]
|
|
62
64
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|