@shgysk8zer0/importmap 1.4.31 → 1.4.33

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
@@ -7,7 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ### [v1.5.31] - 2024-12-13
10
+ ## [v1.4.33 -2024-12-24
11
+
12
+ ### Changed
13
+ - Yet more dependency updates
14
+
15
+ ## [v1.4.32] - 2024-12-19
16
+
17
+ ### Added
18
+ - Add `@shgysk8zer0/geoutils`
19
+ - Add basic tests for hashing
20
+
21
+ ### Changed
22
+ - Update `hash()` to now use new `Uint8Array` methods
23
+ - Use `@shgysk8zer0/polyfills` as an external dependency
24
+
25
+ ## [v1.4.31] - 2024-12-13
11
26
 
12
27
  ### Added
13
28
  - Add `@shgysk8zer0/suid`
package/cli.cjs CHANGED
@@ -5,26 +5,29 @@ var yaml_js = require('@shgysk8zer0/npm-utils/yaml.js');
5
5
  var commander = require('commander');
6
6
  var node_path = require('node:path');
7
7
  require('node:fs/promises');
8
+ require('@shgysk8zer0/polyfills');
8
9
  require('@shgysk8zer0/npm-utils/path.js');
9
10
 
10
11
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
11
12
  const imports = {
12
13
  "@shgysk8zer0/kazoo/": "https://unpkg.com/@shgysk8zer0/kazoo@1.0.9/",
13
14
  "@shgysk8zer0/konami": "https://unpkg.com/@shgysk8zer0/konami@1.1.1/konami.js",
14
- "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/browser.min.js",
15
- "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/",
16
- "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/jwk-utils.min.js",
17
- "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/",
15
+ "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/browser.min.js",
16
+ "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/",
17
+ "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/jwk-utils.min.js",
18
+ "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/",
18
19
  "@shgysk8zer0/jswaggersheets": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/swagger.js",
19
20
  "@shgysk8zer0/jswaggersheets/": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/",
20
21
  "@shgysk8zer0/jss/": "https://unpkg.com/@shgysk8zer0/jss@1.0.1/",
21
22
  "@shgysk8zer0/consts/": "https://unpkg.com/@shgysk8zer0/consts@1.0.8/",
22
23
  "@shgysk8zer0/http/": "https://unpkg.com/@shgysk8zer0/http@1.0.5/",
23
24
  "@shgysk8zer0/http-status": "https://unpkg.com/@shgysk8zer0/http-status@1.1.2/http-status.js",
24
- "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/aes-gcm.min.js",
25
- "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/",
25
+ "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/aes-gcm.min.js",
26
+ "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/",
26
27
  "@shgysk8zer0/suid": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/suid.min.js",
27
28
  "@shgysk8zer0/suid/": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/",
29
+ "@shgysk8zer0/geoutils": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/geoutils.min.js",
30
+ "@shgysk8zer0/geoutils/": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/",
28
31
  "@aegisjsproject/trusted-types": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/bundle.min.js",
29
32
  "@aegisjsproject/trusted-types/": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/",
30
33
  "@aegisjsproject/parsers": "https://unpkg.com/@aegisjsproject/parsers@0.0.16/bundle.min.js",
@@ -43,7 +46,7 @@ const imports = {
43
46
  "@aegisjsproject/aegis-md/": "https://unpkg.com/@aegisjsproject/aegis-md@0.0.4/",
44
47
  "@aegisjsproject/url": "https://unpkg.com/@aegisjsproject/url@1.0.1/url.mjs",
45
48
  "@aegisjsproject/url/": "https://unpkg.com/@aegisjsproject/url@1.0.1/",
46
- "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.13/",
49
+ "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.14/",
47
50
  "@aegisjsproject/state": "https://unpkg.com/@aegisjsproject/state@1.0.5/state.mjs",
48
51
  "@aegisjsproject/state/": "https://unpkg.com/@aegisjsproject/state@1.0.5/",
49
52
  "@aegisjsproject/router": "https://unpkg.com/@aegisjsproject/router@1.1.2/router.mjs",
@@ -54,11 +57,11 @@ const imports = {
54
57
  "@webcomponents/custom-elements": "https://unpkg.com/@webcomponents/custom-elements@1.6.0/custom-elements.min.js",
55
58
  leaflet: "https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js",
56
59
  "urlpattern-polyfill": "https://unpkg.com/urlpattern-polyfill@10.0.0/index.js",
57
- "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
58
- "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
59
- "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
60
- "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
61
- marked: "https://unpkg.com/marked@15.0.3/lib/marked.esm.js",
60
+ "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
61
+ "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
62
+ "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
63
+ "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
64
+ marked: "https://unpkg.com/marked@15.0.4/lib/marked.esm.js",
62
65
  "marked-highlight": "https://unpkg.com/marked-highlight@2.2.1/src/index.js",
63
66
  yaml: "https://unpkg.com/yaml@2.6.1/browser/dist/index.js",
64
67
  "yaml/": "https://unpkg.com/yaml@2.6.1/browser/dist/",
package/cli.js CHANGED
@@ -3,25 +3,28 @@ import { writeYAMLFile, readYAMLFile } from '@shgysk8zer0/npm-utils/yaml.js';
3
3
  import { program } from 'commander';
4
4
  import { extname } from 'node:path';
5
5
  import 'node:fs/promises';
6
+ import '@shgysk8zer0/polyfills';
6
7
  import '@shgysk8zer0/npm-utils/path.js';
7
8
 
8
9
  const imports = {
9
10
  "@shgysk8zer0/kazoo/": "https://unpkg.com/@shgysk8zer0/kazoo@1.0.9/",
10
11
  "@shgysk8zer0/konami": "https://unpkg.com/@shgysk8zer0/konami@1.1.1/konami.js",
11
- "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/browser.min.js",
12
- "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/",
13
- "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/jwk-utils.min.js",
14
- "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/",
12
+ "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/browser.min.js",
13
+ "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/",
14
+ "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/jwk-utils.min.js",
15
+ "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/",
15
16
  "@shgysk8zer0/jswaggersheets": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/swagger.js",
16
17
  "@shgysk8zer0/jswaggersheets/": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/",
17
18
  "@shgysk8zer0/jss/": "https://unpkg.com/@shgysk8zer0/jss@1.0.1/",
18
19
  "@shgysk8zer0/consts/": "https://unpkg.com/@shgysk8zer0/consts@1.0.8/",
19
20
  "@shgysk8zer0/http/": "https://unpkg.com/@shgysk8zer0/http@1.0.5/",
20
21
  "@shgysk8zer0/http-status": "https://unpkg.com/@shgysk8zer0/http-status@1.1.2/http-status.js",
21
- "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/aes-gcm.min.js",
22
- "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/",
22
+ "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/aes-gcm.min.js",
23
+ "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/",
23
24
  "@shgysk8zer0/suid": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/suid.min.js",
24
25
  "@shgysk8zer0/suid/": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/",
26
+ "@shgysk8zer0/geoutils": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/geoutils.min.js",
27
+ "@shgysk8zer0/geoutils/": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/",
25
28
  "@aegisjsproject/trusted-types": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/bundle.min.js",
26
29
  "@aegisjsproject/trusted-types/": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/",
27
30
  "@aegisjsproject/parsers": "https://unpkg.com/@aegisjsproject/parsers@0.0.16/bundle.min.js",
@@ -40,7 +43,7 @@ const imports = {
40
43
  "@aegisjsproject/aegis-md/": "https://unpkg.com/@aegisjsproject/aegis-md@0.0.4/",
41
44
  "@aegisjsproject/url": "https://unpkg.com/@aegisjsproject/url@1.0.1/url.mjs",
42
45
  "@aegisjsproject/url/": "https://unpkg.com/@aegisjsproject/url@1.0.1/",
43
- "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.13/",
46
+ "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.14/",
44
47
  "@aegisjsproject/state": "https://unpkg.com/@aegisjsproject/state@1.0.5/state.mjs",
45
48
  "@aegisjsproject/state/": "https://unpkg.com/@aegisjsproject/state@1.0.5/",
46
49
  "@aegisjsproject/router": "https://unpkg.com/@aegisjsproject/router@1.1.2/router.mjs",
@@ -51,11 +54,11 @@ const imports = {
51
54
  "@webcomponents/custom-elements": "https://unpkg.com/@webcomponents/custom-elements@1.6.0/custom-elements.min.js",
52
55
  leaflet: "https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js",
53
56
  "urlpattern-polyfill": "https://unpkg.com/urlpattern-polyfill@10.0.0/index.js",
54
- "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
55
- "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
56
- "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
57
- "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
58
- marked: "https://unpkg.com/marked@15.0.3/lib/marked.esm.js",
57
+ "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
58
+ "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
59
+ "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
60
+ "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
61
+ marked: "https://unpkg.com/marked@15.0.4/lib/marked.esm.js",
59
62
  "marked-highlight": "https://unpkg.com/marked-highlight@2.2.1/src/index.js",
60
63
  yaml: "https://unpkg.com/yaml@2.6.1/browser/dist/index.js",
61
64
  "yaml/": "https://unpkg.com/yaml@2.6.1/browser/dist/",
package/hash.js CHANGED
@@ -1,3 +1,5 @@
1
+ import '@shgysk8zer0/polyfills';
2
+
1
3
  export const SHA1 = 'SHA-1';
2
4
  export const SHA256 = 'SHA-256';
3
5
  export const SHA384 = 'SHA-384';
@@ -6,32 +8,30 @@ export const DEFAULT_ALGO = SHA384;
6
8
  export const SHA = SHA1;
7
9
 
8
10
  export const BASE64 = 'base64';
11
+ export const BASE64_URL = 'base64url';
9
12
  export const SRI = 'sri';
10
13
  export const HEX = 'hex';
11
14
  export const BUFFER = 'buffer';
12
15
 
13
16
  export async function hash(data, { algo = DEFAULT_ALGO, output = BUFFER } = {}) {
14
- const buffer = await new TextEncoder().encode(data);
15
- const hash = await crypto.subtle.digest(algo, buffer);
17
+ const bytes = new TextEncoder().encode(data);
18
+ const hash = await crypto.subtle.digest(algo, bytes);
16
19
 
17
20
  switch (output) {
18
21
  case BUFFER:
19
22
  return hash;
20
23
 
21
24
  case HEX:
22
- return Array.from(
23
- new Uint8Array(hash),
24
- byte => byte.toString(16).padStart(2, '0')
25
- ).join('');
25
+ return new Uint8Array(hash).toHex();
26
26
 
27
27
  case BASE64:
28
- return btoa(hash);
28
+ return new Uint8Array(hash).toBase64({ alphabet: BASE64 });
29
+
30
+ case BASE64_URL:
31
+ return new Uint8Array(hash).toBase64({ alphabet: BASE64_URL });
29
32
 
30
33
  case SRI: {
31
- const codeUnits = new Uint16Array(hash);
32
- const charCodes = new Uint8Array(codeUnits.buffer);
33
- const result = btoa(String.fromCharCode(...charCodes));
34
- return `${algo.replace('-', '').toLowerCase()}-${result}`;
34
+ return `${algo.replace('-', '').toLowerCase()}-${new Uint8Array(hash).toBase64({ alphabet: BASE64 })}`;
35
35
  }
36
36
 
37
37
  default:
package/importmap.cjs CHANGED
@@ -3,20 +3,22 @@
3
3
  const imports = {
4
4
  "@shgysk8zer0/kazoo/": "https://unpkg.com/@shgysk8zer0/kazoo@1.0.9/",
5
5
  "@shgysk8zer0/konami": "https://unpkg.com/@shgysk8zer0/konami@1.1.1/konami.js",
6
- "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/browser.min.js",
7
- "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/",
8
- "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/jwk-utils.min.js",
9
- "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/",
6
+ "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/browser.min.js",
7
+ "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/",
8
+ "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/jwk-utils.min.js",
9
+ "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/",
10
10
  "@shgysk8zer0/jswaggersheets": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/swagger.js",
11
11
  "@shgysk8zer0/jswaggersheets/": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/",
12
12
  "@shgysk8zer0/jss/": "https://unpkg.com/@shgysk8zer0/jss@1.0.1/",
13
13
  "@shgysk8zer0/consts/": "https://unpkg.com/@shgysk8zer0/consts@1.0.8/",
14
14
  "@shgysk8zer0/http/": "https://unpkg.com/@shgysk8zer0/http@1.0.5/",
15
15
  "@shgysk8zer0/http-status": "https://unpkg.com/@shgysk8zer0/http-status@1.1.2/http-status.js",
16
- "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/aes-gcm.min.js",
17
- "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/",
16
+ "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/aes-gcm.min.js",
17
+ "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/",
18
18
  "@shgysk8zer0/suid": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/suid.min.js",
19
19
  "@shgysk8zer0/suid/": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/",
20
+ "@shgysk8zer0/geoutils": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/geoutils.min.js",
21
+ "@shgysk8zer0/geoutils/": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/",
20
22
  "@aegisjsproject/trusted-types": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/bundle.min.js",
21
23
  "@aegisjsproject/trusted-types/": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/",
22
24
  "@aegisjsproject/parsers": "https://unpkg.com/@aegisjsproject/parsers@0.0.16/bundle.min.js",
@@ -35,7 +37,7 @@ const imports = {
35
37
  "@aegisjsproject/aegis-md/": "https://unpkg.com/@aegisjsproject/aegis-md@0.0.4/",
36
38
  "@aegisjsproject/url": "https://unpkg.com/@aegisjsproject/url@1.0.1/url.mjs",
37
39
  "@aegisjsproject/url/": "https://unpkg.com/@aegisjsproject/url@1.0.1/",
38
- "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.13/",
40
+ "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.14/",
39
41
  "@aegisjsproject/state": "https://unpkg.com/@aegisjsproject/state@1.0.5/state.mjs",
40
42
  "@aegisjsproject/state/": "https://unpkg.com/@aegisjsproject/state@1.0.5/",
41
43
  "@aegisjsproject/router": "https://unpkg.com/@aegisjsproject/router@1.1.2/router.mjs",
@@ -46,11 +48,11 @@ const imports = {
46
48
  "@webcomponents/custom-elements": "https://unpkg.com/@webcomponents/custom-elements@1.6.0/custom-elements.min.js",
47
49
  leaflet: "https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js",
48
50
  "urlpattern-polyfill": "https://unpkg.com/urlpattern-polyfill@10.0.0/index.js",
49
- "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
50
- "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
51
- "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
52
- "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
53
- marked: "https://unpkg.com/marked@15.0.3/lib/marked.esm.js",
51
+ "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
52
+ "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
53
+ "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
54
+ "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
55
+ marked: "https://unpkg.com/marked@15.0.4/lib/marked.esm.js",
54
56
  "marked-highlight": "https://unpkg.com/marked-highlight@2.2.1/src/index.js",
55
57
  yaml: "https://unpkg.com/yaml@2.6.1/browser/dist/index.js",
56
58
  "yaml/": "https://unpkg.com/yaml@2.6.1/browser/dist/",
package/importmap.js CHANGED
@@ -1,20 +1,22 @@
1
1
  const imports = {
2
2
  "@shgysk8zer0/kazoo/": "https://unpkg.com/@shgysk8zer0/kazoo@1.0.9/",
3
3
  "@shgysk8zer0/konami": "https://unpkg.com/@shgysk8zer0/konami@1.1.1/konami.js",
4
- "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/browser.min.js",
5
- "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/",
6
- "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/jwk-utils.min.js",
7
- "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/",
4
+ "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/browser.min.js",
5
+ "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/",
6
+ "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/jwk-utils.min.js",
7
+ "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/",
8
8
  "@shgysk8zer0/jswaggersheets": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/swagger.js",
9
9
  "@shgysk8zer0/jswaggersheets/": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/",
10
10
  "@shgysk8zer0/jss/": "https://unpkg.com/@shgysk8zer0/jss@1.0.1/",
11
11
  "@shgysk8zer0/consts/": "https://unpkg.com/@shgysk8zer0/consts@1.0.8/",
12
12
  "@shgysk8zer0/http/": "https://unpkg.com/@shgysk8zer0/http@1.0.5/",
13
13
  "@shgysk8zer0/http-status": "https://unpkg.com/@shgysk8zer0/http-status@1.1.2/http-status.js",
14
- "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/aes-gcm.min.js",
15
- "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/",
14
+ "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/aes-gcm.min.js",
15
+ "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/",
16
16
  "@shgysk8zer0/suid": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/suid.min.js",
17
17
  "@shgysk8zer0/suid/": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/",
18
+ "@shgysk8zer0/geoutils": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/geoutils.min.js",
19
+ "@shgysk8zer0/geoutils/": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/",
18
20
  "@aegisjsproject/trusted-types": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/bundle.min.js",
19
21
  "@aegisjsproject/trusted-types/": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/",
20
22
  "@aegisjsproject/parsers": "https://unpkg.com/@aegisjsproject/parsers@0.0.16/bundle.min.js",
@@ -33,7 +35,7 @@ const imports = {
33
35
  "@aegisjsproject/aegis-md/": "https://unpkg.com/@aegisjsproject/aegis-md@0.0.4/",
34
36
  "@aegisjsproject/url": "https://unpkg.com/@aegisjsproject/url@1.0.1/url.mjs",
35
37
  "@aegisjsproject/url/": "https://unpkg.com/@aegisjsproject/url@1.0.1/",
36
- "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.13/",
38
+ "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.14/",
37
39
  "@aegisjsproject/state": "https://unpkg.com/@aegisjsproject/state@1.0.5/state.mjs",
38
40
  "@aegisjsproject/state/": "https://unpkg.com/@aegisjsproject/state@1.0.5/",
39
41
  "@aegisjsproject/router": "https://unpkg.com/@aegisjsproject/router@1.1.2/router.mjs",
@@ -44,11 +46,11 @@ const imports = {
44
46
  "@webcomponents/custom-elements": "https://unpkg.com/@webcomponents/custom-elements@1.6.0/custom-elements.min.js",
45
47
  leaflet: "https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js",
46
48
  "urlpattern-polyfill": "https://unpkg.com/urlpattern-polyfill@10.0.0/index.js",
47
- "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
48
- "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
49
- "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
50
- "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
51
- marked: "https://unpkg.com/marked@15.0.3/lib/marked.esm.js",
49
+ "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
50
+ "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
51
+ "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
52
+ "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
53
+ marked: "https://unpkg.com/marked@15.0.4/lib/marked.esm.js",
52
54
  "marked-highlight": "https://unpkg.com/marked-highlight@2.2.1/src/index.js",
53
55
  yaml: "https://unpkg.com/yaml@2.6.1/browser/dist/index.js",
54
56
  "yaml/": "https://unpkg.com/yaml@2.6.1/browser/dist/",
package/importmap.json CHANGED
@@ -2,20 +2,22 @@
2
2
  "imports": {
3
3
  "@shgysk8zer0/kazoo/": "https://unpkg.com/@shgysk8zer0/kazoo@1.0.9/",
4
4
  "@shgysk8zer0/konami": "https://unpkg.com/@shgysk8zer0/konami@1.1.1/konami.js",
5
- "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/browser.min.js",
6
- "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/",
7
- "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/jwk-utils.min.js",
8
- "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/",
5
+ "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/browser.min.js",
6
+ "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/",
7
+ "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/jwk-utils.min.js",
8
+ "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/",
9
9
  "@shgysk8zer0/jswaggersheets": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/swagger.js",
10
10
  "@shgysk8zer0/jswaggersheets/": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/",
11
11
  "@shgysk8zer0/jss/": "https://unpkg.com/@shgysk8zer0/jss@1.0.1/",
12
12
  "@shgysk8zer0/consts/": "https://unpkg.com/@shgysk8zer0/consts@1.0.8/",
13
13
  "@shgysk8zer0/http/": "https://unpkg.com/@shgysk8zer0/http@1.0.5/",
14
14
  "@shgysk8zer0/http-status": "https://unpkg.com/@shgysk8zer0/http-status@1.1.2/http-status.js",
15
- "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/aes-gcm.min.js",
16
- "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/",
15
+ "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/aes-gcm.min.js",
16
+ "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/",
17
17
  "@shgysk8zer0/suid": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/suid.min.js",
18
18
  "@shgysk8zer0/suid/": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/",
19
+ "@shgysk8zer0/geoutils": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/geoutils.min.js",
20
+ "@shgysk8zer0/geoutils/": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/",
19
21
  "@aegisjsproject/trusted-types": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/bundle.min.js",
20
22
  "@aegisjsproject/trusted-types/": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/",
21
23
  "@aegisjsproject/parsers": "https://unpkg.com/@aegisjsproject/parsers@0.0.16/bundle.min.js",
@@ -34,7 +36,7 @@
34
36
  "@aegisjsproject/aegis-md/": "https://unpkg.com/@aegisjsproject/aegis-md@0.0.4/",
35
37
  "@aegisjsproject/url": "https://unpkg.com/@aegisjsproject/url@1.0.1/url.mjs",
36
38
  "@aegisjsproject/url/": "https://unpkg.com/@aegisjsproject/url@1.0.1/",
37
- "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.13/",
39
+ "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.14/",
38
40
  "@aegisjsproject/state": "https://unpkg.com/@aegisjsproject/state@1.0.5/state.mjs",
39
41
  "@aegisjsproject/state/": "https://unpkg.com/@aegisjsproject/state@1.0.5/",
40
42
  "@aegisjsproject/router": "https://unpkg.com/@aegisjsproject/router@1.1.2/router.mjs",
@@ -45,11 +47,11 @@
45
47
  "@webcomponents/custom-elements": "https://unpkg.com/@webcomponents/custom-elements@1.6.0/custom-elements.min.js",
46
48
  "leaflet": "https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js",
47
49
  "urlpattern-polyfill": "https://unpkg.com/urlpattern-polyfill@10.0.0/index.js",
48
- "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
49
- "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
50
- "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
51
- "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
52
- "marked": "https://unpkg.com/marked@15.0.3/lib/marked.esm.js",
50
+ "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
51
+ "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
52
+ "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
53
+ "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
54
+ "marked": "https://unpkg.com/marked@15.0.4/lib/marked.esm.js",
53
55
  "marked-highlight": "https://unpkg.com/marked-highlight@2.2.1/src/index.js",
54
56
  "yaml": "https://unpkg.com/yaml@2.6.1/browser/dist/index.js",
55
57
  "yaml/": "https://unpkg.com/yaml@2.6.1/browser/dist/",
@@ -67,4 +69,4 @@
67
69
  "firebase/analytics": "https://www.gstatic.com/firebasejs/10.12.1/firebase-analytics.js"
68
70
  },
69
71
  "scope": {}
70
- }
72
+ }
package/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var promises = require('node:fs/promises');
4
+ require('@shgysk8zer0/polyfills');
4
5
  var yaml_js = require('@shgysk8zer0/npm-utils/yaml.js');
5
6
  var json_js = require('@shgysk8zer0/npm-utils/json.js');
6
7
  var path_js = require('@shgysk8zer0/npm-utils/path.js');
@@ -8,20 +9,22 @@ var path_js = require('@shgysk8zer0/npm-utils/path.js');
8
9
  const imports$1 = {
9
10
  "@shgysk8zer0/kazoo/": "https://unpkg.com/@shgysk8zer0/kazoo@1.0.9/",
10
11
  "@shgysk8zer0/konami": "https://unpkg.com/@shgysk8zer0/konami@1.1.1/konami.js",
11
- "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/browser.min.js",
12
- "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/",
13
- "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/jwk-utils.min.js",
14
- "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/",
12
+ "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/browser.min.js",
13
+ "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/",
14
+ "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/jwk-utils.min.js",
15
+ "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/",
15
16
  "@shgysk8zer0/jswaggersheets": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/swagger.js",
16
17
  "@shgysk8zer0/jswaggersheets/": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/",
17
18
  "@shgysk8zer0/jss/": "https://unpkg.com/@shgysk8zer0/jss@1.0.1/",
18
19
  "@shgysk8zer0/consts/": "https://unpkg.com/@shgysk8zer0/consts@1.0.8/",
19
20
  "@shgysk8zer0/http/": "https://unpkg.com/@shgysk8zer0/http@1.0.5/",
20
21
  "@shgysk8zer0/http-status": "https://unpkg.com/@shgysk8zer0/http-status@1.1.2/http-status.js",
21
- "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/aes-gcm.min.js",
22
- "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/",
22
+ "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/aes-gcm.min.js",
23
+ "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/",
23
24
  "@shgysk8zer0/suid": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/suid.min.js",
24
25
  "@shgysk8zer0/suid/": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/",
26
+ "@shgysk8zer0/geoutils": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/geoutils.min.js",
27
+ "@shgysk8zer0/geoutils/": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/",
25
28
  "@aegisjsproject/trusted-types": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/bundle.min.js",
26
29
  "@aegisjsproject/trusted-types/": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/",
27
30
  "@aegisjsproject/parsers": "https://unpkg.com/@aegisjsproject/parsers@0.0.16/bundle.min.js",
@@ -40,7 +43,7 @@ const imports$1 = {
40
43
  "@aegisjsproject/aegis-md/": "https://unpkg.com/@aegisjsproject/aegis-md@0.0.4/",
41
44
  "@aegisjsproject/url": "https://unpkg.com/@aegisjsproject/url@1.0.1/url.mjs",
42
45
  "@aegisjsproject/url/": "https://unpkg.com/@aegisjsproject/url@1.0.1/",
43
- "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.13/",
46
+ "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.14/",
44
47
  "@aegisjsproject/state": "https://unpkg.com/@aegisjsproject/state@1.0.5/state.mjs",
45
48
  "@aegisjsproject/state/": "https://unpkg.com/@aegisjsproject/state@1.0.5/",
46
49
  "@aegisjsproject/router": "https://unpkg.com/@aegisjsproject/router@1.1.2/router.mjs",
@@ -51,11 +54,11 @@ const imports$1 = {
51
54
  "@webcomponents/custom-elements": "https://unpkg.com/@webcomponents/custom-elements@1.6.0/custom-elements.min.js",
52
55
  leaflet: "https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js",
53
56
  "urlpattern-polyfill": "https://unpkg.com/urlpattern-polyfill@10.0.0/index.js",
54
- "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
55
- "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
56
- "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
57
- "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
58
- marked: "https://unpkg.com/marked@15.0.3/lib/marked.esm.js",
57
+ "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
58
+ "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
59
+ "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
60
+ "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
61
+ marked: "https://unpkg.com/marked@15.0.4/lib/marked.esm.js",
59
62
  "marked-highlight": "https://unpkg.com/marked-highlight@2.2.1/src/index.js",
60
63
  yaml: "https://unpkg.com/yaml@2.6.1/browser/dist/index.js",
61
64
  "yaml/": "https://unpkg.com/yaml@2.6.1/browser/dist/",
@@ -85,32 +88,30 @@ const SHA384 = 'SHA-384';
85
88
  const DEFAULT_ALGO = SHA384;
86
89
 
87
90
  const BASE64 = 'base64';
91
+ const BASE64_URL = 'base64url';
88
92
  const SRI = 'sri';
89
93
  const HEX = 'hex';
90
94
  const BUFFER = 'buffer';
91
95
 
92
96
  async function hash(data, { algo = DEFAULT_ALGO, output = BUFFER } = {}) {
93
- const buffer = await new TextEncoder().encode(data);
94
- const hash = await crypto.subtle.digest(algo, buffer);
97
+ const bytes = new TextEncoder().encode(data);
98
+ const hash = await crypto.subtle.digest(algo, bytes);
95
99
 
96
100
  switch (output) {
97
101
  case BUFFER:
98
102
  return hash;
99
103
 
100
104
  case HEX:
101
- return Array.from(
102
- new Uint8Array(hash),
103
- byte => byte.toString(16).padStart(2, '0')
104
- ).join('');
105
+ return new Uint8Array(hash).toHex();
105
106
 
106
107
  case BASE64:
107
- return btoa(hash);
108
+ return new Uint8Array(hash).toBase64({ alphabet: BASE64 });
109
+
110
+ case BASE64_URL:
111
+ return new Uint8Array(hash).toBase64({ alphabet: BASE64_URL });
108
112
 
109
113
  case SRI: {
110
- const codeUnits = new Uint16Array(hash);
111
- const charCodes = new Uint8Array(codeUnits.buffer);
112
- const result = btoa(String.fromCharCode(...charCodes));
113
- return `${algo.replace('-', '').toLowerCase()}-${result}`;
114
+ return `${algo.replace('-', '').toLowerCase()}-${new Uint8Array(hash).toBase64({ alphabet: BASE64 })}`;
114
115
  }
115
116
 
116
117
  default:
package/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { writeFile } from 'node:fs/promises';
2
+ import '@shgysk8zer0/polyfills';
2
3
  import { readYAMLFile, writeYAMLFile } from '@shgysk8zer0/npm-utils/yaml.js';
3
4
  import { readJSONFile, writeJSONFile } from '@shgysk8zer0/npm-utils/json.js';
4
5
  import { getFileURL } from '@shgysk8zer0/npm-utils/path.js';
@@ -6,20 +7,22 @@ import { getFileURL } from '@shgysk8zer0/npm-utils/path.js';
6
7
  const imports$1 = {
7
8
  "@shgysk8zer0/kazoo/": "https://unpkg.com/@shgysk8zer0/kazoo@1.0.9/",
8
9
  "@shgysk8zer0/konami": "https://unpkg.com/@shgysk8zer0/konami@1.1.1/konami.js",
9
- "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/browser.min.js",
10
- "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.7/",
11
- "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/jwk-utils.min.js",
12
- "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.17/",
10
+ "@shgysk8zer0/polyfills": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/browser.min.js",
11
+ "@shgysk8zer0/polyfills/": "https://unpkg.com/@shgysk8zer0/polyfills@0.4.8/",
12
+ "@shgysk8zer0/jwk-utils": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/jwk-utils.min.js",
13
+ "@shgysk8zer0/jwk-utils/": "https://unpkg.com/@shgysk8zer0/jwk-utils@1.0.20/",
13
14
  "@shgysk8zer0/jswaggersheets": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/swagger.js",
14
15
  "@shgysk8zer0/jswaggersheets/": "https://unpkg.com/@shgysk8zer0/jswaggersheets@1.1.0/",
15
16
  "@shgysk8zer0/jss/": "https://unpkg.com/@shgysk8zer0/jss@1.0.1/",
16
17
  "@shgysk8zer0/consts/": "https://unpkg.com/@shgysk8zer0/consts@1.0.8/",
17
18
  "@shgysk8zer0/http/": "https://unpkg.com/@shgysk8zer0/http@1.0.5/",
18
19
  "@shgysk8zer0/http-status": "https://unpkg.com/@shgysk8zer0/http-status@1.1.2/http-status.js",
19
- "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/aes-gcm.min.js",
20
- "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.2/",
20
+ "@shgysk8zer0/aes-gcm": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/aes-gcm.min.js",
21
+ "@shgysk8zer0/aes-gcm/": "https://unpkg.com/@shgysk8zer0/aes-gcm@1.0.7/",
21
22
  "@shgysk8zer0/suid": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/suid.min.js",
22
23
  "@shgysk8zer0/suid/": "https://unpkg.com/@shgysk8zer0/suid@1.0.0/",
24
+ "@shgysk8zer0/geoutils": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/geoutils.min.js",
25
+ "@shgysk8zer0/geoutils/": "https://unpkg.com/@shgysk8zer0/geoutils@1.0.1/",
23
26
  "@aegisjsproject/trusted-types": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/bundle.min.js",
24
27
  "@aegisjsproject/trusted-types/": "https://unpkg.com/@aegisjsproject/trusted-types@1.0.2/",
25
28
  "@aegisjsproject/parsers": "https://unpkg.com/@aegisjsproject/parsers@0.0.16/bundle.min.js",
@@ -38,7 +41,7 @@ const imports$1 = {
38
41
  "@aegisjsproject/aegis-md/": "https://unpkg.com/@aegisjsproject/aegis-md@0.0.4/",
39
42
  "@aegisjsproject/url": "https://unpkg.com/@aegisjsproject/url@1.0.1/url.mjs",
40
43
  "@aegisjsproject/url/": "https://unpkg.com/@aegisjsproject/url@1.0.1/",
41
- "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.13/",
44
+ "@shgysk8zer0/components/": "https://unpkg.com/@shgysk8zer0/components@0.3.14/",
42
45
  "@aegisjsproject/state": "https://unpkg.com/@aegisjsproject/state@1.0.5/state.mjs",
43
46
  "@aegisjsproject/state/": "https://unpkg.com/@aegisjsproject/state@1.0.5/",
44
47
  "@aegisjsproject/router": "https://unpkg.com/@aegisjsproject/router@1.1.2/router.mjs",
@@ -49,11 +52,11 @@ const imports$1 = {
49
52
  "@webcomponents/custom-elements": "https://unpkg.com/@webcomponents/custom-elements@1.6.0/custom-elements.min.js",
50
53
  leaflet: "https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js",
51
54
  "urlpattern-polyfill": "https://unpkg.com/urlpattern-polyfill@10.0.0/index.js",
52
- "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
53
- "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
54
- "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/core.min.js",
55
- "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.10.0/es/",
56
- marked: "https://unpkg.com/marked@15.0.3/lib/marked.esm.js",
55
+ "highlight.js": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
56
+ "highlight.js/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
57
+ "@highlightjs/cdn-assets": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/core.min.js",
58
+ "@highlightjs/cdn-assets/": "https://unpkg.com/@highlightjs/cdn-assets@11.11.0/es/",
59
+ marked: "https://unpkg.com/marked@15.0.4/lib/marked.esm.js",
57
60
  "marked-highlight": "https://unpkg.com/marked-highlight@2.2.1/src/index.js",
58
61
  yaml: "https://unpkg.com/yaml@2.6.1/browser/dist/index.js",
59
62
  "yaml/": "https://unpkg.com/yaml@2.6.1/browser/dist/",
@@ -83,32 +86,30 @@ const SHA384 = 'SHA-384';
83
86
  const DEFAULT_ALGO = SHA384;
84
87
 
85
88
  const BASE64 = 'base64';
89
+ const BASE64_URL = 'base64url';
86
90
  const SRI = 'sri';
87
91
  const HEX = 'hex';
88
92
  const BUFFER = 'buffer';
89
93
 
90
94
  async function hash(data, { algo = DEFAULT_ALGO, output = BUFFER } = {}) {
91
- const buffer = await new TextEncoder().encode(data);
92
- const hash = await crypto.subtle.digest(algo, buffer);
95
+ const bytes = new TextEncoder().encode(data);
96
+ const hash = await crypto.subtle.digest(algo, bytes);
93
97
 
94
98
  switch (output) {
95
99
  case BUFFER:
96
100
  return hash;
97
101
 
98
102
  case HEX:
99
- return Array.from(
100
- new Uint8Array(hash),
101
- byte => byte.toString(16).padStart(2, '0')
102
- ).join('');
103
+ return new Uint8Array(hash).toHex();
103
104
 
104
105
  case BASE64:
105
- return btoa(hash);
106
+ return new Uint8Array(hash).toBase64({ alphabet: BASE64 });
107
+
108
+ case BASE64_URL:
109
+ return new Uint8Array(hash).toBase64({ alphabet: BASE64_URL });
106
110
 
107
111
  case SRI: {
108
- const codeUnits = new Uint16Array(hash);
109
- const charCodes = new Uint8Array(codeUnits.buffer);
110
- const result = btoa(String.fromCharCode(...charCodes));
111
- return `${algo.replace('-', '').toLowerCase()}-${result}`;
112
+ return `${algo.replace('-', '').toLowerCase()}-${new Uint8Array(hash).toBase64({ alphabet: BASE64 })}`;
112
113
  }
113
114
 
114
115
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shgysk8zer0/importmap",
3
- "version": "1.4.31",
3
+ "version": "1.4.33",
4
4
  "engines": {
5
5
  "node": ">=18.0.0"
6
6
  },
@@ -33,7 +33,7 @@
33
33
  "importmap-utils": "./cli.mjs"
34
34
  },
35
35
  "scripts": {
36
- "test": "npm run lint:js && npm run test:imports",
36
+ "test": "npm run lint:js && npm run run:tests && npm run test:imports",
37
37
  "preversion": "npm test && npm run build",
38
38
  "prepare": "npm test && npm run build",
39
39
  "update": "node ./update.js",
@@ -42,6 +42,7 @@
42
42
  "build": "npm run build:js",
43
43
  "build:js": "rollup -c",
44
44
  "test:imports": "rollup -c rollup.test.config.js",
45
+ "run:tests": "node --test *.test.js",
45
46
  "create:lock": "npm i --package-lock-only --ignore-scripts --no-audit --no-fund",
46
47
  "version:bump": "npm run version:bump:patch",
47
48
  "version:bump:patch": "npm version --no-git-tag-version patch && npm run create:lock",
@@ -66,6 +67,7 @@
66
67
  },
67
68
  "dependencies": {
68
69
  "@shgysk8zer0/npm-utils": "^1.1.3",
70
+ "@shgysk8zer0/polyfills": "^0.4.7",
69
71
  "commander": "^12.1.0"
70
72
  }
71
73
  }