parse-domain 5.0.0 → 6.0.0

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.
Files changed (151) hide show
  1. package/README.md +52 -52
  2. package/bin/update.js +8 -11
  3. package/{build-cjs/src → build}/config.d.ts +0 -0
  4. package/{build-esm/src → build}/config.js +0 -0
  5. package/build/config.js.map +1 -0
  6. package/{build-cjs/src → build}/from-url.d.ts +0 -0
  7. package/{build-esm/src → build}/from-url.js +0 -0
  8. package/build/from-url.js.map +1 -0
  9. package/build/main.d.ts +3 -0
  10. package/build/main.js +6 -0
  11. package/build/main.js.map +1 -0
  12. package/{build-cjs/src → build}/parse-domain.d.ts +2 -2
  13. package/{build-esm/src → build}/parse-domain.js +4 -4
  14. package/build/parse-domain.js.map +1 -0
  15. package/build/psl/build-tries.d.ts +4 -0
  16. package/{build-esm/src → build}/psl/build-tries.js +5 -20
  17. package/build/psl/build-tries.js.map +1 -0
  18. package/{build-cjs/src → build}/psl/fetch-psl.d.ts +0 -0
  19. package/{build-esm/src → build}/psl/fetch-psl.js +1 -1
  20. package/build/psl/fetch-psl.js.map +1 -0
  21. package/build/punycode.d.ts +1 -0
  22. package/build/punycode.js +4 -0
  23. package/build/punycode.js.map +1 -0
  24. package/{build-cjs/src → build}/sanitize.d.ts +4 -4
  25. package/{build-esm/src → build}/sanitize.js +4 -4
  26. package/build/sanitize.js.map +1 -0
  27. package/{build-cjs/src → build}/scripts/update-psl-fixture.d.ts +0 -0
  28. package/build/scripts/update-psl-fixture.js +20 -0
  29. package/build/scripts/update-psl-fixture.js.map +1 -0
  30. package/{build-cjs/src → build}/scripts/update-tries.d.ts +0 -0
  31. package/build/scripts/update-tries.js +39 -0
  32. package/build/scripts/update-tries.js.map +1 -0
  33. package/build/serialized-tries.d.ts +3 -0
  34. package/build/serialized-tries.js +4 -0
  35. package/build/serialized-tries.js.map +1 -0
  36. package/{build-cjs/src → build}/smoke-test.d.ts +0 -0
  37. package/{build-esm/src → build}/smoke-test.js +6 -8
  38. package/build/smoke-test.js.map +1 -0
  39. package/{build-cjs/src → build}/trie/characters.d.ts +0 -0
  40. package/{build-esm/src → build}/trie/characters.js +0 -0
  41. package/build/trie/characters.js.map +1 -0
  42. package/{build-cjs/src → build}/trie/create-trie.d.ts +1 -1
  43. package/{build-esm/src → build}/trie/create-trie.js +1 -1
  44. package/build/trie/create-trie.js.map +1 -0
  45. package/{build-cjs/src → build}/trie/look-up.d.ts +2 -2
  46. package/{build-esm/src → build}/trie/look-up.js +1 -1
  47. package/build/trie/look-up.js.map +1 -0
  48. package/{build-cjs/src → build}/trie/nodes.d.ts +0 -0
  49. package/{build-esm/src → build}/trie/nodes.js +0 -0
  50. package/build/trie/nodes.js.map +1 -0
  51. package/{build-cjs/src → build}/trie/parse-trie.d.ts +1 -1
  52. package/{build-esm/src → build}/trie/parse-trie.js +2 -2
  53. package/build/trie/parse-trie.js.map +1 -0
  54. package/{build-cjs/src → build}/trie/serialize-trie.d.ts +1 -1
  55. package/{build-esm/src → build}/trie/serialize-trie.js +1 -1
  56. package/build/trie/serialize-trie.js.map +1 -0
  57. package/{build-cjs/src → build}/type-util.d.ts +0 -0
  58. package/{build-esm/src → build}/type-util.js +0 -0
  59. package/{build-cjs/src → build}/type-util.js.map +1 -1
  60. package/{build-cjs/src → build}/update-tries.d.ts +0 -0
  61. package/{build-esm/src → build}/update-tries.js +3 -3
  62. package/build/update-tries.js.map +1 -0
  63. package/package.json +33 -43
  64. package/serialized-tries/icann.d.ts +3 -0
  65. package/serialized-tries/icann.js +1 -0
  66. package/serialized-tries/info.json +1 -0
  67. package/serialized-tries/private.d.ts +3 -0
  68. package/serialized-tries/private.js +1 -0
  69. package/build-cjs/serialized-tries/icann.json +0 -1
  70. package/build-cjs/serialized-tries/info.json +0 -1
  71. package/build-cjs/serialized-tries/private.json +0 -1
  72. package/build-cjs/src/config.js +0 -10
  73. package/build-cjs/src/config.js.map +0 -1
  74. package/build-cjs/src/from-url.js +0 -32
  75. package/build-cjs/src/from-url.js.map +0 -1
  76. package/build-cjs/src/main.d.ts +0 -3
  77. package/build-cjs/src/main.js +0 -15
  78. package/build-cjs/src/main.js.map +0 -1
  79. package/build-cjs/src/main.mjs +0 -11
  80. package/build-cjs/src/parse-domain.js +0 -97
  81. package/build-cjs/src/parse-domain.js.map +0 -1
  82. package/build-cjs/src/psl/build-tries.d.ts +0 -4
  83. package/build-cjs/src/psl/build-tries.js +0 -59
  84. package/build-cjs/src/psl/build-tries.js.map +0 -1
  85. package/build-cjs/src/psl/fetch-psl.js +0 -27
  86. package/build-cjs/src/psl/fetch-psl.js.map +0 -1
  87. package/build-cjs/src/sanitize.js +0 -198
  88. package/build-cjs/src/sanitize.js.map +0 -1
  89. package/build-cjs/src/scripts/update-psl-fixture.js +0 -29
  90. package/build-cjs/src/scripts/update-psl-fixture.js.map +0 -1
  91. package/build-cjs/src/scripts/update-tries.js +0 -48
  92. package/build-cjs/src/scripts/update-tries.js.map +0 -1
  93. package/build-cjs/src/serialized-tries.d.ts +0 -3
  94. package/build-cjs/src/serialized-tries.js +0 -11
  95. package/build-cjs/src/serialized-tries.js.map +0 -1
  96. package/build-cjs/src/smoke-test.js +0 -63
  97. package/build-cjs/src/smoke-test.js.map +0 -1
  98. package/build-cjs/src/trie/characters.js +0 -11
  99. package/build-cjs/src/trie/characters.js.map +0 -1
  100. package/build-cjs/src/trie/create-trie.js +0 -16
  101. package/build-cjs/src/trie/create-trie.js.map +0 -1
  102. package/build-cjs/src/trie/look-up.js +0 -48
  103. package/build-cjs/src/trie/look-up.js.map +0 -1
  104. package/build-cjs/src/trie/nodes.js +0 -27
  105. package/build-cjs/src/trie/nodes.js.map +0 -1
  106. package/build-cjs/src/trie/parse-trie.js +0 -70
  107. package/build-cjs/src/trie/parse-trie.js.map +0 -1
  108. package/build-cjs/src/trie/serialize-trie.js +0 -31
  109. package/build-cjs/src/trie/serialize-trie.js.map +0 -1
  110. package/build-cjs/src/type-util.js +0 -3
  111. package/build-cjs/src/update-tries.js +0 -27
  112. package/build-cjs/src/update-tries.js.map +0 -1
  113. package/build-esm/serialized-tries/icann.json +0 -1
  114. package/build-esm/serialized-tries/info.json +0 -1
  115. package/build-esm/serialized-tries/private.json +0 -1
  116. package/build-esm/src/config.d.ts +0 -6
  117. package/build-esm/src/config.js.map +0 -1
  118. package/build-esm/src/from-url.d.ts +0 -2
  119. package/build-esm/src/from-url.js.map +0 -1
  120. package/build-esm/src/main.d.ts +0 -3
  121. package/build-esm/src/main.js +0 -6
  122. package/build-esm/src/main.js.map +0 -1
  123. package/build-esm/src/parse-domain.d.ts +0 -85
  124. package/build-esm/src/parse-domain.js.map +0 -1
  125. package/build-esm/src/psl/build-tries.d.ts +0 -4
  126. package/build-esm/src/psl/build-tries.js.map +0 -1
  127. package/build-esm/src/psl/fetch-psl.d.ts +0 -1
  128. package/build-esm/src/psl/fetch-psl.js.map +0 -1
  129. package/build-esm/src/sanitize.d.ts +0 -58
  130. package/build-esm/src/sanitize.js.map +0 -1
  131. package/build-esm/src/serialized-tries.d.ts +0 -3
  132. package/build-esm/src/serialized-tries.js +0 -4
  133. package/build-esm/src/serialized-tries.js.map +0 -1
  134. package/build-esm/src/smoke-test.d.ts +0 -1
  135. package/build-esm/src/smoke-test.js.map +0 -1
  136. package/build-esm/src/trie/characters.d.ts +0 -6
  137. package/build-esm/src/trie/characters.js.map +0 -1
  138. package/build-esm/src/trie/create-trie.d.ts +0 -1
  139. package/build-esm/src/trie/create-trie.js.map +0 -1
  140. package/build-esm/src/trie/look-up.d.ts +0 -3
  141. package/build-esm/src/trie/look-up.js.map +0 -1
  142. package/build-esm/src/trie/nodes.d.ts +0 -15
  143. package/build-esm/src/trie/nodes.js.map +0 -1
  144. package/build-esm/src/trie/parse-trie.d.ts +0 -1
  145. package/build-esm/src/trie/parse-trie.js.map +0 -1
  146. package/build-esm/src/trie/serialize-trie.d.ts +0 -2
  147. package/build-esm/src/trie/serialize-trie.js.map +0 -1
  148. package/build-esm/src/type-util.d.ts +0 -3
  149. package/build-esm/src/type-util.js.map +0 -1
  150. package/build-esm/src/update-tries.d.ts +0 -4
  151. package/build-esm/src/update-tries.js.map +0 -1
package/README.md CHANGED
@@ -414,17 +414,17 @@ Describes the shape of the parse result that is returned when the given hostname
414
414
 
415
415
  ```ts
416
416
  type ParseResultInvalid = {
417
- type: ParseResultType.INVALID;
418
- hostname: string | typeof NO_HOSTNAME;
419
- errors: Array<ValidationError>;
417
+ type: ParseResultType.INVALID;
418
+ hostname: string | typeof NO_HOSTNAME;
419
+ errors: Array<ValidationError>;
420
420
  };
421
421
 
422
422
  // Example
423
423
 
424
424
  {
425
- type: "INVALID",
426
- hostname: ".com",
427
- errors: [...]
425
+ type: "INVALID",
426
+ hostname: ".com",
427
+ errors: [...]
428
428
  }
429
429
  ```
430
430
 
@@ -436,17 +436,17 @@ Describes the shape of a validation error as returned by [`parseDomain`](#api-js
436
436
 
437
437
  ```ts
438
438
  type ValidationError = {
439
- type: ValidationErrorType;
440
- message: string;
441
- column: number;
439
+ type: ValidationErrorType;
440
+ message: string;
441
+ column: number;
442
442
  };
443
443
 
444
444
  // Example
445
445
 
446
446
  {
447
- type: "LABEL_MIN_LENGTH",
448
- message: `Label "" is too short. Label is 0 octets long but should be at least 1.`,
449
- column: 1,
447
+ type: "LABEL_MIN_LENGTH",
448
+ message: `Label "" is too short. Label is 0 octets long but should be at least 1.`,
449
+ column: 1,
450
450
  }
451
451
  ```
452
452
 
@@ -481,17 +481,17 @@ This type describes the shape of the parse result that is returned when the give
481
481
 
482
482
  ```ts
483
483
  type ParseResultIp = {
484
- type: ParseResultType.Ip;
485
- hostname: string;
486
- ipVersion: 4 | 6;
484
+ type: ParseResultType.Ip;
485
+ hostname: string;
486
+ ipVersion: 4 | 6;
487
487
  };
488
488
 
489
489
  // Example
490
490
 
491
491
  {
492
- type: "IP",
493
- hostname: "192.168.0.1",
494
- ipVersion: 4
492
+ type: "IP",
493
+ hostname: "192.168.0.1",
494
+ ipVersion: 4
495
495
  }
496
496
  ```
497
497
 
@@ -516,17 +516,17 @@ This type describes the shape of the parse result that is returned when the give
516
516
 
517
517
  ```ts
518
518
  type ParseResultReserved = {
519
- type: ParseResultType.Reserved;
520
- hostname: string;
521
- labels: Array<string>;
519
+ type: ParseResultType.Reserved;
520
+ hostname: string;
521
+ labels: Array<string>;
522
522
  };
523
523
 
524
524
  // Example
525
525
 
526
526
  {
527
- type: "RESERVED",
528
- hostname: "pecorino.local",
529
- labels: ["pecorino", "local"]
527
+ type: "RESERVED",
528
+ hostname: "pecorino.local",
529
+ labels: ["pecorino", "local"]
530
530
  }
531
531
  ```
532
532
 
@@ -540,17 +540,17 @@ Describes the shape of the parse result that is returned when the given hostname
540
540
 
541
541
  ```ts
542
542
  type ParseResultNotListed = {
543
- type: ParseResultType.NotListed;
544
- hostname: string;
545
- labels: Array<string>;
543
+ type: ParseResultType.NotListed;
544
+ hostname: string;
545
+ labels: Array<string>;
546
546
  };
547
547
 
548
548
  // Example
549
549
 
550
550
  {
551
- type: "NOT_LISTED",
552
- hostname: "this.is.not-listed",
553
- labels: ["this", "is", "not-listed"]
551
+ type: "NOT_LISTED",
552
+ hostname: "this.is.not-listed",
553
+ labels: ["this", "is", "not-listed"]
554
554
  }
555
555
  ```
556
556
 
@@ -562,33 +562,33 @@ Describes the shape of the parse result that is returned when the given hostname
562
562
 
563
563
  ```ts
564
564
  type ParseResultListed = {
565
- type: ParseResultType.Listed;
566
- hostname: string;
567
- labels: Array<string>;
568
- subDomains: Array<string>;
569
- domain: string | undefined;
570
- topLevelDomains: Array<string>;
571
- icann: {
572
- subDomains: Array<string>;
573
- domain: string | undefined;
574
- topLevelDomains: Array<string>;
575
- };
565
+ type: ParseResultType.Listed;
566
+ hostname: string;
567
+ labels: Array<string>;
568
+ subDomains: Array<string>;
569
+ domain: string | undefined;
570
+ topLevelDomains: Array<string>;
571
+ icann: {
572
+ subDomains: Array<string>;
573
+ domain: string | undefined;
574
+ topLevelDomains: Array<string>;
575
+ };
576
576
  };
577
577
 
578
578
  // Example
579
579
 
580
580
  {
581
- type: "LISTED",
582
- hostname: "parse-domain.github.io",
583
- labels: ["parse-domain", "github", "io"]
584
- subDomains: [],
585
- domain: "parse-domain",
586
- topLevelDomains: ["github", "io"],
587
- icann: {
588
- subDomains: ["parse-domain"],
589
- domain: "github",
590
- topLevelDomains: ["io"]
591
- }
581
+ type: "LISTED",
582
+ hostname: "parse-domain.github.io",
583
+ labels: ["parse-domain", "github", "io"]
584
+ subDomains: [],
585
+ domain: "parse-domain",
586
+ topLevelDomains: ["github", "io"],
587
+ icann: {
588
+ subDomains: ["parse-domain"],
589
+ domain: "github",
590
+ topLevelDomains: ["io"]
591
+ }
592
592
  }
593
593
  ```
594
594
 
package/bin/update.js CHANGED
@@ -1,25 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- "use strict";
4
-
5
- const { EOL } = require("os");
3
+ import { EOL } from "os";
6
4
 
7
5
  (async () => {
8
- process.argv.push(
9
- "--",
10
- "../../serialized-tries",
11
- "../../../build-esm/serialized-tries"
12
- );
6
+ process.argv.push("--", "../../serialized-tries");
7
+
8
+ const updateTries = await import("../build/scripts/update-tries.js");
13
9
 
14
- await require("../build-cjs/src/scripts/update-tries.js").done;
10
+ await updateTries.done;
15
11
 
16
12
  process.stderr.write("Running smoke test... ");
17
13
 
18
- require("../build-cjs/src/smoke-test.js").runSmokeTest();
14
+ const smokeTest = await import("../build/smoke-test.js");
15
+
16
+ smokeTest.runSmokeTest();
19
17
 
20
18
  process.stdout.write("ok" + EOL);
21
19
  })().catch((error) => {
22
20
  console.error(`parse-domain update failed: ${error}`);
23
- // eslint-disable-next-line no-process-exit, node/no-process-exit
24
21
  process.exit(1);
25
22
  });
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAC5B,sDAAsD,CAAC;AACzD,MAAM,CAAC,MAAM,gCAAgC,GAAG,8BAA8B,CAAC;AAC/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,4BAA4B,CAAC;AAC3E,MAAM,CAAC,MAAM,kCAAkC,GAC7C,gCAAgC,CAAC;AACnC,MAAM,CAAC,MAAM,gCAAgC,GAAG,8BAA8B,CAAC;AAC/E,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-url.js","sourceRoot":"","sources":["../src/from-url.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE;IACzC,0BAA0B;IAC1B,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QAC7B,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;KACH;IAED,uCAAuC;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,WAAW,CAAC;KACpB;IAED,gDAAgD;IAChD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,QAAQ,OAAO,EAAE;QACnB,CAAC,CAAC,wDAAwD;YAC1D,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC1B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC;IAExB,IAAI;QACF,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;KAC9B;IAAC,WAAM;QACN,OAAO,WAAW,CAAC;KACpB;AACH,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { parseDomain, ParseResult, ParseResultType, ParseResultInvalid, ParseResultReserved, ParseResultNotListed, ParseResultListed, } from "./parse-domain.js";
2
+ export { fromUrl, NO_HOSTNAME } from "./from-url.js";
3
+ export { Validation, ValidationError, ValidationErrorType, } from "./sanitize.js";
package/build/main.js ADDED
@@ -0,0 +1,6 @@
1
+ /* istanbul ignore file */
2
+ // Jest will report function coverage errors here otherwise
3
+ export { parseDomain, ParseResultType, } from "./parse-domain.js";
4
+ export { fromUrl, NO_HOSTNAME } from "./from-url.js";
5
+ export { Validation, ValidationErrorType, } from "./sanitize.js";
6
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,2DAA2D;AAC3D,OAAO,EACL,WAAW,EAEX,eAAe,GAKhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,UAAU,EAEV,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
@@ -1,5 +1,5 @@
1
- import { ValidationError, SanitizationResultValidIp, Validation } from "./sanitize";
2
- import { NO_HOSTNAME } from "./from-url";
1
+ import { ValidationError, SanitizationResultValidIp, Validation } from "./sanitize.js";
2
+ import { NO_HOSTNAME } from "./from-url.js";
3
3
  export declare const RESERVED_TOP_LEVEL_DOMAINS: string[];
4
4
  export declare type Label = string;
5
5
  export declare enum ParseResultType {
@@ -1,7 +1,7 @@
1
- import { icannTrie, privateTrie } from "./serialized-tries";
2
- import { lookUpTldsInTrie } from "./trie/look-up";
3
- import { sanitize, SanitizationResultType, } from "./sanitize";
4
- import { parseTrie } from "./trie/parse-trie";
1
+ import { icannTrie, privateTrie } from "./serialized-tries.js";
2
+ import { lookUpTldsInTrie } from "./trie/look-up.js";
3
+ import { sanitize, SanitizationResultType, } from "./sanitize.js";
4
+ import { parseTrie } from "./trie/parse-trie.js";
5
5
  export const RESERVED_TOP_LEVEL_DOMAINS = [
6
6
  "localhost",
7
7
  "local",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-domain.js","sourceRoot":"","sources":["../src/parse-domain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const buildTries: (psl: string) => {
2
+ icannTrie: import("../trie/nodes.js").TrieRootNode;
3
+ privateTrie: import("../trie/nodes.js").TrieRootNode;
4
+ };
@@ -1,6 +1,6 @@
1
- import { toASCII } from "punycode";
2
- import { PUBLIC_SUFFIX_MARKER_ICANN_START, PUBLIC_SUFFIX_MARKER_ICANN_END, PUBLIC_SUFFIX_MARKER_PRIVATE_START, PUBLIC_SUFFIX_MARKER_PRIVATE_END, } from "../config";
3
- import { createTrieFromList } from "../trie/create-trie";
1
+ import { PUBLIC_SUFFIX_MARKER_ICANN_START, PUBLIC_SUFFIX_MARKER_ICANN_END, PUBLIC_SUFFIX_MARKER_PRIVATE_START, PUBLIC_SUFFIX_MARKER_PRIVATE_END, } from "../config.js";
2
+ import { toASCII } from "../punycode.js";
3
+ import { createTrieFromList } from "../trie/create-trie.js";
4
4
  const matchNewLine = /\r?\n/u;
5
5
  const matchComment = /^\s*\/\//u;
6
6
  const matchWhitespace = /^\s*$/u;
@@ -16,31 +16,16 @@ const extractByMarkers = (listContent, startMarker, endMarker) => {
16
16
  return listContent.slice(start, end);
17
17
  };
18
18
  const containsRule = (line) => matchComment.test(line) === false && matchWhitespace.test(line) === false;
19
- const normalizeRule = (rule) =>
20
- /*
21
- Users of parse-domain should only pass parsed hostnames (e.g. via new URL("...").hostname)
22
- to parseDomain(). This frees us from the burden of URL parsing.
23
- See also https://github.com/peerigon/parse-domain/issues/14
24
-
25
- The problem is that new URL("...").hostname will also translate all non-ASCII characters
26
- into punycode (e.g. 大分.jp becomes xn--kbrq7o.jp). This means for us that our serialized
27
- trie needs to use punyencoded hostnames.
28
-
29
- The downside of this is that punycode hostnames are bigger in terms of file size.
30
- However, that's still better than including a punycode library into the runtime code of parse-domain.
31
- Gzip is also very effective in removing duplicate characters.
32
- */
33
- toASCII(rule).toLowerCase();
34
19
  const parsePsl = (listContent) => {
35
20
  return {
36
21
  icann: extractByMarkers(listContent, PUBLIC_SUFFIX_MARKER_ICANN_START, PUBLIC_SUFFIX_MARKER_ICANN_END)
37
22
  .split(matchNewLine)
38
23
  .filter(containsRule)
39
- .map(normalizeRule),
24
+ .map(toASCII),
40
25
  private: extractByMarkers(listContent, PUBLIC_SUFFIX_MARKER_PRIVATE_START, PUBLIC_SUFFIX_MARKER_PRIVATE_END)
41
26
  .split(matchNewLine)
42
27
  .filter(containsRule)
43
- .map(normalizeRule),
28
+ .map(toASCII),
44
29
  };
45
30
  };
46
31
  export const buildTries = (psl) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-tries.js","sourceRoot":"","sources":["../../src/psl/build-tries.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,8BAA8B,EAC9B,kCAAkC,EAClC,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,gBAAgB,GAAG,CACvB,WAAmB,EACnB,WAAmB,EACnB,SAAiB,EACjB,EAAE;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,wBAAwB,CAC5D,CAAC;KACH;IACD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,wBAAwB,CAAC,CAAC;KAC1E;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;AAE5E,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,EAAE;IACvC,OAAO;QACL,KAAK,EAAE,gBAAgB,CACrB,WAAW,EACX,gCAAgC,EAChC,8BAA8B,CAC/B;aACE,KAAK,CAAC,YAAY,CAAC;aACnB,MAAM,CAAC,YAAY,CAAC;aACpB,GAAG,CAAC,OAAO,CAAC;QACf,OAAO,EAAE,gBAAgB,CACvB,WAAW,EACX,kCAAkC,EAClC,gCAAgC,CACjC;aACE,KAAK,CAAC,YAAY,CAAC;aACnB,MAAM,CAAC,YAAY,CAAC;aACpB,GAAG,CAAC,OAAO,CAAC;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE1D,OAAO;QACL,SAAS;QACT,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC"}
File without changes
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { ok } from "assert";
11
11
  import fetch from "node-fetch";
12
- import { FETCH_PSL_EXPECTED_MIN_LENGTH, PUBLIC_SUFFIX_URL } from "../config";
12
+ import { FETCH_PSL_EXPECTED_MIN_LENGTH, PUBLIC_SUFFIX_URL } from "../config.js";
13
13
  export const fetchPsl = () => __awaiter(void 0, void 0, void 0, function* () {
14
14
  const response = yield fetch(PUBLIC_SUFFIX_URL);
15
15
  const pslContent = yield response.text();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-psl.js","sourceRoot":"","sources":["../../src/psl/fetch-psl.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAS,EAAE;IACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEzC,eAAe;IACf,EAAE,CACA,UAAU,CAAC,MAAM,IAAI,6BAA6B,EAClD,6CAA6C,CAC9C,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAA,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const toASCII: (hostname: string) => string;
@@ -0,0 +1,4 @@
1
+ export const toASCII = (hostname) => {
2
+ return new URL(`http://${hostname}`).hostname;
3
+ };
4
+ //# sourceMappingURL=punycode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"punycode.js","sourceRoot":"","sources":["../src/punycode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC1C,OAAO,IAAI,GAAG,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;AAChD,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { version as getIpVersion } from "is-ip";
2
- import { Label } from "./parse-domain";
3
- import { NO_HOSTNAME } from "./from-url";
1
+ import { ipVersion } from "is-ip";
2
+ import { Label } from "./parse-domain.js";
3
+ import { NO_HOSTNAME } from "./from-url.js";
4
4
  export declare enum Validation {
5
5
  /**
6
6
  * Allows any octets as labels
@@ -41,7 +41,7 @@ export declare enum SanitizationResultType {
41
41
  export declare type SanitizationResultValidIp = {
42
42
  type: SanitizationResultType.ValidIp;
43
43
  ip: string;
44
- ipVersion: Exclude<ReturnType<typeof getIpVersion>, undefined>;
44
+ ipVersion: Exclude<ReturnType<typeof ipVersion>, undefined>;
45
45
  };
46
46
  export declare type SanitizationResultValidDomain = {
47
47
  type: SanitizationResultType.ValidDomain;
@@ -1,4 +1,4 @@
1
- import { version as getIpVersion } from "is-ip";
1
+ import { ipVersion } from "is-ip";
2
2
  // See https://en.wikipedia.org/wiki/Domain_name
3
3
  // See https://tools.ietf.org/html/rfc1034
4
4
  const LABEL_SEPARATOR = ".";
@@ -108,12 +108,12 @@ export const sanitize = (input, options = {}) => {
108
108
  // IPv6 addresses are surrounded by square brackets in URLs
109
109
  // See https://tools.ietf.org/html/rfc3986#section-3.2.2
110
110
  const inputTrimmedAsIp = inputTrimmed.replace(/^\[|]$/g, "");
111
- const ipVersion = getIpVersion(inputTrimmedAsIp);
112
- if (ipVersion !== undefined) {
111
+ const ipVersionOfInput = ipVersion(inputTrimmedAsIp);
112
+ if (ipVersionOfInput !== undefined) {
113
113
  return {
114
114
  type: SanitizationResultType.ValidIp,
115
115
  ip: inputTrimmedAsIp,
116
- ipVersion,
116
+ ipVersion: ipVersionOfInput,
117
117
  };
118
118
  }
119
119
  const lastChar = inputTrimmed.charAt(inputTrimmed.length - 1);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,gDAAgD;AAChD,0CAA0C;AAC1C,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B;;;GAGG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,MAAM,CAAN,IAAY,UAmBX;AAnBD,WAAY,UAAU;IACpB;;;;;QAKI;IACJ,yBAAW,CAAA;IAEX;;;;;;;;OAQG;IACH,+BAAiB,CAAA;AACnB,CAAC,EAnBW,UAAU,KAAV,UAAU,QAmBrB;AAED,MAAM,CAAN,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,iDAA0B,CAAA;IAC1B,4DAAqC,CAAA;IACrC,0DAAmC,CAAA;IACnC,0DAAmC,CAAA;IACnC,wEAAiD,CAAA;IACjD,8DAAuC,CAAA;AACzC,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B;AAQD,MAAM,CAAN,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,8CAAoB,CAAA;IACpB,sDAA4B,CAAA;IAC5B,yCAAe,CAAA;AACjB,CAAC,EAJW,sBAAsB,KAAtB,sBAAsB,QAIjC;AAwBD,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAE,EAAE;IAC/C,OAAO;QACL,IAAI,EAAE,mBAAmB,CAAC,UAAU;QACpC,OAAO,EAAE,mBAAmB,MAAM,CAAC,KAAK,CAAC,iCAAiC;QAC1E,MAAM,EAAE,CAAC;KACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE;IACpE,OAAO;QACL,IAAI,EAAE,mBAAmB,CAAC,eAAe;QACzC,OAAO,EAAE,WAAW,MAAM,4BAA4B,MAAM,8CAA8C,iBAAiB,GAAG;QAC9H,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,OAAO;QACL,IAAI,EAAE,mBAAmB,CAAC,cAAc;QACxC,OAAO,EAAE,UAAU,KAAK,4BAA4B,MAAM,uCAAuC,gBAAgB,GAAG;QACpH,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,OAAO;QACL,IAAI,EAAE,mBAAmB,CAAC,cAAc;QACxC,OAAO,EAAE,UAAU,KAAK,2BAA2B,MAAM,8CAA8C,gBAAgB,GAAG;QAC1H,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACvC,KAAa,EACb,gBAAwB,EACxB,MAAc,EACd,EAAE;IACF,OAAO;QACL,IAAI,EAAE,mBAAmB,CAAC,qBAAqB;QAC/C,OAAO,EAAE,UAAU,KAAK,iCAAiC,gBAAgB,eAAe,MAAM,GAAG;QACjG,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;IACpE,OAAO;QACL,IAAI,EAAE,mBAAmB,CAAC,qBAAqB;QAC/C,OAAO,EAAE,eAAe,KAAK,4BAA4B;QACzD,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,KAAkC,EAClC,UAAuC,EAAE,EACrB,EAAE;IACtB,uCAAuC;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO;YACL,IAAI,EAAE,sBAAsB,CAAC,KAAK;YAClC,MAAM,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;SACvC,CAAC;KACH;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAElC,IAAI,YAAY,KAAK,EAAE,EAAE;QACvB,OAAO;YACL,IAAI,EAAE,sBAAsB,CAAC,WAAW;YACxC,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,EAAE;SACX,CAAC;KACH;IAED,2DAA2D;IAC3D,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAErD,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClC,OAAO;YACL,IAAI,EAAE,sBAAsB,CAAC,OAAO;YACpC,EAAE,EAAE,gBAAgB;YACpB,SAAS,EAAE,gBAAgB;SAC5B,CAAC;KACH;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,cAAc,GAClB,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAExD,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB,EAAE;QACrC,OAAO;YACL,IAAI,EAAE,sBAAsB,CAAC,KAAK;YAClC,MAAM,EAAE,CAAC,0BAA0B,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAClE,CAAC;KACH;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAErD,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC;IACnD,MAAM,qBAAqB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IAEjE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,OAAO;YACL,IAAI,EAAE,sBAAsB,CAAC,KAAK;YAClC,MAAM,EAAE,qBAAqB;SAC9B,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,sBAAsB,CAAC,WAAW;QACxC,MAAM,EAAE,YAAY;QACpB,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,MAAqB,EAAE,EAAE;QAC1C,MAAM,qBAAqB,GAAG,EAAE,CAAC;QACjC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,MAAM,CAAC,MAAM,GAAG,gBAAgB,EAAE;gBACpC,qBAAqB,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;aACtE;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,gBAAgB,EAAE;gBAC3C,qBAAqB,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;aACtE;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;SACjD;QAED,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAqB,EAAE,EAAE;QAC7C,MAAM,qBAAqB,GAAG,EAAE,CAAC;QACjC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,SAAS,CAAC;QAEd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,iEAAiE;YACjE,wDAAwD;YACxD,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAElD,IAAI,gBAAgB,EAAE;gBACpB,qBAAqB,CAAC,IAAI,CACxB,gCAAgC,CAC9B,KAAK,EACL,gBAAgB,CAAC,CAAC,CAAC,EACnB,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAC3B,CACF,CAAC;aACH;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACzB,qBAAqB,CAAC,IAAI,CACxB,gCAAgC,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CACrD,CAAC;aACH;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC9B,qBAAqB,CAAC,IAAI,CACxB,gCAAgC,CAC9B,KAAK,EACL,GAAG,EACH,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAC1B,CACF,CAAC;aACH;YACD;YACE,8DAA8D;YAC9D,6DAA6D;YAC7D,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAC/B;gBACA,qBAAqB,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;aACtE;iBAAM,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAAE;gBAC1C,qBAAqB,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;aACtE;YAED,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;YAChD,SAAS,GAAG,KAAK,CAAC;SACnB;QAED,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACnE,qBAAqB,CAAC,IAAI,CACxB,2BAA2B,CACzB,SAAS,EACT,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CACnD,CACF,CAAC;SACH;QAED,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CACF,CAAC"}
@@ -0,0 +1,20 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import * as path from "path";
11
+ import * as url from "url";
12
+ import * as fs from "fs";
13
+ import { fetchPsl } from "../psl/fetch-psl.js";
14
+ const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
15
+ export const done = (() => __awaiter(void 0, void 0, void 0, function* () {
16
+ const pathToPslFixture = path.resolve(__dirname, "..", "tests", "fixtures", "public-suffix-list.txt");
17
+ const psl = yield fetchPsl();
18
+ yield fs.promises.writeFile(pathToPslFixture, psl);
19
+ }))();
20
+ //# sourceMappingURL=update-psl-fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-psl-fixture.js","sourceRoot":"","sources":["../../src/scripts/update-psl-fixture.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAS,EAAE;IAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CACnC,SAAS,EACT,IAAI,EACJ,OAAO,EACP,UAAU,EACV,wBAAwB,CACzB,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;IAE7B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -0,0 +1,39 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import * as path from "path";
11
+ import * as url from "url";
12
+ import * as fs from "fs";
13
+ import { fetchBuildSerializeTries } from "../update-tries.js";
14
+ import { PUBLIC_SUFFIX_URL } from "../config.js";
15
+ const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
16
+ const writeTriesToFiles = ({ serializedIcannTrie, serializedPrivateTrie, }) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const indexOfScriptArg = process.argv.lastIndexOf("--");
18
+ const targetDirectories = process.argv.slice(indexOfScriptArg + 1);
19
+ yield Promise.all(targetDirectories.map((targetDirectory) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const pathToIcannTrie = path.resolve(__dirname, targetDirectory, "icann.js");
21
+ const pathToPrivateTrie = path.resolve(__dirname, targetDirectory, "private.js");
22
+ const pathToTrieInfoFile = path.resolve(__dirname, targetDirectory, "info.json");
23
+ console.warn(`Writing ${pathToIcannTrie}...`);
24
+ console.warn(`Writing ${pathToPrivateTrie}...`);
25
+ console.warn(`Writing ${pathToTrieInfoFile}...`);
26
+ yield Promise.all([
27
+ fs.promises.writeFile(pathToIcannTrie, `export default ${JSON.stringify(serializedIcannTrie)};`),
28
+ fs.promises.writeFile(pathToPrivateTrie, `export default ${JSON.stringify(serializedPrivateTrie)};`),
29
+ fs.promises.writeFile(pathToTrieInfoFile, JSON.stringify({
30
+ updatedAt: new Date(),
31
+ })),
32
+ ]);
33
+ })));
34
+ });
35
+ export const done = (() => __awaiter(void 0, void 0, void 0, function* () {
36
+ console.warn(`Fetching public suffix list from ${PUBLIC_SUFFIX_URL}...`);
37
+ yield writeTriesToFiles(yield fetchBuildSerializeTries());
38
+ }))();
39
+ //# sourceMappingURL=update-tries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-tries.js","sourceRoot":"","sources":["../../src/scripts/update-tries.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEnE,MAAM,iBAAiB,GAAG,CAAO,EAC/B,mBAAmB,EACnB,qBAAqB,GAC8B,EAAE,EAAE;IACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAEnE,MAAM,OAAO,CAAC,GAAG,CACf,iBAAiB,CAAC,GAAG,CAAC,CAAO,eAAe,EAAE,EAAE;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAClC,SAAS,EACT,eAAe,EACf,UAAU,CACX,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CACpC,SAAS,EACT,eAAe,EACf,YAAY,CACb,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CACrC,SAAS,EACT,eAAe,EACf,WAAW,CACZ,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,WAAW,eAAe,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,WAAW,iBAAiB,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,WAAW,kBAAkB,KAAK,CAAC,CAAC;QAEjD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,CAAC,QAAQ,CAAC,SAAS,CACnB,eAAe,EACf,kBAAkB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CACzD;YACD,EAAE,CAAC,QAAQ,CAAC,SAAS,CACnB,iBAAiB,EACjB,kBAAkB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAC3D;YACD,EAAE,CAAC,QAAQ,CAAC,SAAS,CACnB,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CACH;SACF,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CACH,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAS,EAAE;IAC9B,OAAO,CAAC,IAAI,CAAC,oCAAoC,iBAAiB,KAAK,CAAC,CAAC;IAEzE,MAAM,iBAAiB,CAAC,MAAM,wBAAwB,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import icannTrie from "../serialized-tries/icann.js";
2
+ import privateTrie from "../serialized-tries/private.js";
3
+ export { icannTrie, privateTrie };
@@ -0,0 +1,4 @@
1
+ import icannTrie from "../serialized-tries/icann.js";
2
+ import privateTrie from "../serialized-tries/private.js";
3
+ export { icannTrie, privateTrie };
4
+ //# sourceMappingURL=serialized-tries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialized-tries.js","sourceRoot":"","sources":["../src/serialized-tries.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC"}
File without changes
@@ -1,9 +1,9 @@
1
1
  import { deepStrictEqual } from "assert";
2
- import { parseDomain } from "./main";
2
+ import { fromUrl, parseDomain, ParseResultType } from "./main.js";
3
3
  export const runSmokeTest = () => {
4
4
  deepStrictEqual(parseDomain("www.example.com"), {
5
5
  hostname: "www.example.com",
6
- type: "LISTED",
6
+ type: ParseResultType.Listed,
7
7
  labels: ["www", "example", "com"],
8
8
  subDomains: ["www"],
9
9
  domain: "example",
@@ -16,7 +16,7 @@ export const runSmokeTest = () => {
16
16
  });
17
17
  deepStrictEqual(parseDomain("www.example.co.uk"), {
18
18
  hostname: "www.example.co.uk",
19
- type: "LISTED",
19
+ type: ParseResultType.Listed,
20
20
  labels: ["www", "example", "co", "uk"],
21
21
  subDomains: ["www"],
22
22
  domain: "example",
@@ -29,7 +29,7 @@ export const runSmokeTest = () => {
29
29
  });
30
30
  deepStrictEqual(parseDomain("www.example.cloudfront.net"), {
31
31
  hostname: "www.example.cloudfront.net",
32
- type: "LISTED",
32
+ type: ParseResultType.Listed,
33
33
  labels: ["www", "example", "cloudfront", "net"],
34
34
  subDomains: ["www"],
35
35
  domain: "example",
@@ -40,11 +40,9 @@ export const runSmokeTest = () => {
40
40
  topLevelDomains: ["net"],
41
41
  },
42
42
  });
43
- // TODO: Use fromUrl once we dropped Node v8 support
44
- // deepStrictEqual(parseDomain(fromUrl("www.食狮.公司.cn")), {
45
- deepStrictEqual(parseDomain("www.xn--85x722f.xn--55qx5d.cn"), {
43
+ deepStrictEqual(parseDomain(fromUrl("www.食狮.公司.cn")), {
46
44
  hostname: "www.xn--85x722f.xn--55qx5d.cn",
47
- type: "LISTED",
45
+ type: ParseResultType.Listed,
48
46
  labels: ["www", "xn--85x722f", "xn--55qx5d", "cn"],
49
47
  subDomains: ["www"],
50
48
  domain: "xn--85x722f",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke-test.js","sourceRoot":"","sources":["../src/smoke-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;QAC9C,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;QACjC,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC,KAAK,CAAC;SACzB;KACF,CAAC,CAAC;IACH,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE;QAChD,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;QACtC,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAC7B,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SAC9B;KACF,CAAC,CAAC;IACH,eAAe,CAAC,WAAW,CAAC,4BAA4B,CAAC,EAAE;QACzD,QAAQ,EAAE,4BAA4B;QACtC,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC;QAC/C,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC;QACtC,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;YAC9B,MAAM,EAAE,YAAY;YACpB,eAAe,EAAE,CAAC,KAAK,CAAC;SACzB;KACF,CAAC,CAAC;IACH,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE;QACpD,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC;QAClD,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,aAAa;QACrB,eAAe,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;QACrC,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,aAAa;YACrB,eAAe,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;SACtC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characters.js","sourceRoot":"","sources":["../../src/trie/characters.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,eAAe;AACtC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa;AACtC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,iBAAiB;AAC1C,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,kCAAkC;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,iCAAiC;AAC9D,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,iCAAiC"}
@@ -1 +1 @@
1
- export declare const createTrieFromList: (list: Array<string>) => import("./nodes").TrieRootNode;
1
+ export declare const createTrieFromList: (list: Array<string>) => import("./nodes.js").TrieRootNode;
@@ -1,4 +1,4 @@
1
- import { createRootNode, createOrGetChild } from "./nodes";
1
+ import { createRootNode, createOrGetChild } from "./nodes.js";
2
2
  export const createTrieFromList = (list) => {
3
3
  const root = createRootNode();
4
4
  for (const rule of list) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-trie.js","sourceRoot":"","sources":["../../src/trie/create-trie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAExE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAE,EAAE;IACxD,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACvB,IAAI,IAAI,GAAa,IAAI,CAAC;QAE1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7C,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { TrieNode } from "./nodes";
2
- import { Label } from "../parse-domain";
1
+ import { TrieNode } from "./nodes.js";
2
+ import { Label } from "../parse-domain.js";
3
3
  export declare const lookUpTldsInTrie: (labels: Array<Label>, trie: TrieNode) => string[];
@@ -1,4 +1,4 @@
1
- import * as characters from "./characters";
1
+ import * as characters from "./characters.js";
2
2
  export const lookUpTldsInTrie = (labels, trie) => {
3
3
  const labelsToCheck = labels.slice();
4
4
  const tlds = [];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"look-up.js","sourceRoot":"","sources":["../../src/trie/look-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAI9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAoB,EAAE,IAAc,EAAE,EAAE;IACvE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACrC,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAG,CAAC;QACnC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE;gBAC5D,MAAM;aACP;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAa,CAAC;SAC3D;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;gBAC/C,MAAM;aACP;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAa,CAAC;SACtD;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACrB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/trie/nodes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAe/C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAiB,EAAE;IAC/C,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,IAAI,GAAG,EAAE;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAgB,EAAE,KAAa,EAAE,EAAE;IAClE,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEvC,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,KAAK,GAAG;YACN,IAAI,EAAE,eAAe;YACrB,KAAK;YACL,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,MAAM;SACP,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACnC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -1 +1 @@
1
- export declare const parseTrie: (serializedTrie: string) => import("./nodes").TrieRootNode;
1
+ export declare const parseTrie: (serializedTrie: string) => import("./nodes.js").TrieRootNode;