identifier-js 0.0.16 → 0.1.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.
@@ -19,7 +19,7 @@ jobs:
19
19
  fail-fast: false
20
20
  matrix:
21
21
  os: [ubuntu-latest, windows-latest, macos-latest]
22
- node: [20, 22, 24]
22
+ node: [24, 26]
23
23
 
24
24
  steps:
25
25
  # Check out the exact project revision selected by the workflow event.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "identifier-js",
3
- "version": "0.0.16",
3
+ "version": "0.1.1",
4
4
  "description": "A RFC3986 / RFC3987 compliant fast parser/validator/resolver/composer for NodeJS and browser.",
5
5
  "keywords": [
6
6
  "IRI",
@@ -29,16 +29,14 @@
29
29
  "main": "index.js",
30
30
  "scripts": {
31
31
  "update-deps": "npx npm-check-updates -u && npm install",
32
- "test": "node \"#/public/tests/vitest-run.js\""
32
+ "test": "node ./#/public/tests",
33
+ "benchmark": "node ./#/public/benchmarks"
33
34
  },
34
35
  "dependencies": {
35
36
  "url-templates": "^1.0.7"
36
37
  },
37
38
  "engines": {
38
- "node": ">=20.0.0"
39
+ "node": ">=24.0.0"
39
40
  },
40
- "engineStrict": true,
41
- "devDependencies": {
42
- "vitest": "^4.1.11"
43
- }
41
+ "engineStrict": true
44
42
  }
package/readme.md CHANGED
@@ -17,7 +17,7 @@ description: An RFC 3986 and RFC 3987 parser, validator, and reference resolver
17
17
  - UUID and UUIDv4 lexical validation;
18
18
  - lazily compiled and cached regular expressions.
19
19
 
20
- The package is synchronous, CommonJS, and supports Node.js 20 or newer. Browser use requires a bundler or runtime that supports CommonJS dependencies and Unicode regular expressions.
20
+ The package is synchronous, CommonJS, and supports Node.js 24 or newer. Browser use requires bundling; target browsers must support Unicode regular expressions and duplicate named capture groups in mutually exclusive alternatives. This includes Chrome and Edge 125+, Firefox 129+, Safari 17+, and corresponding newer releases.
21
21
 
22
22
  ## Install
23
23
 
@@ -431,11 +431,11 @@ RFC 9562 lists database keys, filenames, system identifiers, and transaction ide
431
431
 
432
432
  ## Tests
433
433
 
434
- The current suite contains 418 active tests covering URI/IRI validation and parsing, scheme-specific hosts, IPv4, IPv6, ports, UUIDs, RFC 3986 resolution examples, empty components, absolute conversion, and relative-reference round trips.
434
+ The current suite contains 3,064 active tests covering URI/IRI validation and parsing, scheme-specific hosts, IPv4, IPv6, ports, UUIDs, RFC 3986 resolution examples, empty components, absolute conversion, and relative-reference round trips.
435
435
 
436
- The reference-conversion changes were additionally checked against 2,646 combinations of paths, absent/empty/non-empty queries, and absent/empty/non-empty fragments.
436
+ The active reference-conversion suite includes 2,646 generated combinations of target/base paths, absent/empty/non-empty target and base queries, and absent/empty/non-empty target fragments across equivalent URI and IRI families.
437
437
 
438
- Continuous integration materializes the public test suite and runs it on Node.js 20, 22, and 24 across Ubuntu, Windows, and macOS.
438
+ Continuous integration materializes the public test suite and runs it on Node.js 24 and 26 across Ubuntu, Windows, and macOS. The deterministic, single-command layout is designed to remain portable across projects, local environments, and CI runner matrices.
439
439
 
440
440
  <details>
441
441
  <summary><strong>Tests</strong></summary>
@@ -448,7 +448,7 @@ Install the project development dependencies:
448
448
  npm install
449
449
  ```
450
450
 
451
- Vitest is a development dependency and is not installed for consumers of the published library.
451
+ The suite uses the `node:test` module built into Node.js and does not require a separate test-runner dependency.
452
452
 
453
453
  Install the GitHub CLI extension once:
454
454
 
@@ -463,7 +463,7 @@ gh workspace-data init
463
463
  gh workspace-data load
464
464
  ```
465
465
 
466
- The tests are materialized as ordinary local files under `#/public/tests/`, and the supporting documents are available under `#/public/docs/`. Both remain excluded from the canonical Git repository.
466
+ The tests are materialized as ordinary local files under `#/public/tests/`, and the supporting documents are available under `#/public/docs/`. Both remain excluded from the canonical Git repository. The materialized `#/public/tests/README.md` documents fixture discovery, version layers, ordering, callback configuration, and suite entry points.
467
467
 
468
468
  Run the materialized suite:
469
469
 
@@ -475,6 +475,18 @@ npm test
475
475
 
476
476
  </details>
477
477
 
478
+ ## Benchmarks
479
+
480
+ The materialized public workspace data also provides portable, version-aware benchmarks under `#/public/benchmarks/`. Each exported function has an independent concern entry point, while the shared harness measures fresh-process first calls and warmed steady-state behavior.
481
+
482
+ Run the complete workload:
483
+
484
+ ```sh
485
+ npm run benchmark
486
+ ```
487
+
488
+ Use `node ./#/public/benchmarks --quick --json` for a reduced CI smoke workload and machine-readable artifact. The materialized `#/public/benchmarks/README.md` documents concern registration, version layers, workload controls, measurement semantics, and guidance for interpreting noisy CI results.
489
+
478
490
  ## Authoritative references
479
491
 
480
492
  - [RFC 3986 — Uniform Resource Identifier: Generic Syntax](https://www.rfc-editor.org/rfc/rfc3986)