@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 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.esm.js` | ✅ |
140
- | CJS | `index.cjs.js` | ❌ |
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 index_cjs_js$3 = require('./_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js');
4
- const index_cjs_js$2 = require('./_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js');
5
- const index_cjs_js$1 = require('./_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js');
6
- const index_cjs_js = require('./_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js');
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 = index_cjs_js.createSet();
36
+ const list = index_cjs.createSet();
37
37
  const push = (item) => {
38
38
  if (!isNonPrimitive$1(item)) {
39
- throw index_cjs_js$2.createError('A fifo list only supports non-primitive values');
39
+ throw index_cjs$2.createError('A fifo list only supports non-primitive values');
40
40
  }
41
41
  if (list.has(item)) {
42
- throw index_cjs_js$2.createError('Cannot push an item that already exists in the list');
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 index_cjs_js$3.from(list.values()).map(callback);
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 index_cjs_js$1.freeze(result);
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 = index_cjs_js.createSet();
99
+ const list = index_cjs.createSet();
100
100
  const push = (item) => {
101
101
  if (!isNonPrimitive(item)) {
102
- throw index_cjs_js$2.createError('A lifo list only supports non-primitive values');
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 = index_cjs_js$3.from(list).pop();
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 index_cjs_js$3.from(list).map(callback);
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 index_cjs_js$1.freeze(result);
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 index_cjs_js$2.createError('Expected values not to be an empty list.');
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
- /* eslint-disable @typescript-eslint/no-explicit-any */
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 index_cjs_js$3.from(index_cjs_js.createSet(values));
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.esm.js';
2
- import { createError } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.esm.js';
3
- import { freeze } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js';
4
- import { createSet } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js';
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
- /* eslint-disable @typescript-eslint/no-explicit-any */
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.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.esm.js",
33
- "require": "./index.cjs.js"
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.js",
49
- "module": "./index.esm.js",
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
  }