parse-domain 3.0.3 → 5.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.
- package/LICENSE +17 -20
- package/README.md +129 -60
- package/bin/update.js +13 -13
- package/build-cjs/serialized-tries/icann.json +1 -1
- package/build-cjs/serialized-tries/info.json +1 -1
- package/build-cjs/serialized-tries/private.json +1 -1
- package/build-cjs/src/config.js +1 -0
- package/build-cjs/src/config.js.map +1 -1
- package/build-cjs/src/from-url.js +4 -2
- package/build-cjs/src/from-url.js.map +1 -1
- package/build-cjs/src/main.d.ts +1 -1
- package/build-cjs/src/main.js +9 -5
- package/build-cjs/src/main.js.map +1 -1
- package/build-cjs/src/parse-domain.d.ts +8 -2
- package/build-cjs/src/parse-domain.js +8 -6
- package/build-cjs/src/parse-domain.js.map +1 -1
- package/build-cjs/src/psl/build-tries.js +16 -14
- package/build-cjs/src/psl/build-tries.js.map +1 -1
- package/build-cjs/src/psl/fetch-psl.js +5 -3
- package/build-cjs/src/psl/fetch-psl.js.map +1 -1
- package/build-cjs/src/sanitize.d.ts +26 -4
- package/build-cjs/src/sanitize.js +105 -38
- package/build-cjs/src/sanitize.js.map +1 -1
- package/build-cjs/src/scripts/update-psl-fixture.js +4 -3
- package/build-cjs/src/scripts/update-psl-fixture.js.map +1 -1
- package/build-cjs/src/scripts/update-tries.js +6 -5
- package/build-cjs/src/scripts/update-tries.js.map +1 -1
- package/build-cjs/src/serialized-tries.js +1 -0
- package/build-cjs/src/serialized-tries.js.map +1 -1
- package/build-cjs/src/smoke-test.js +7 -5
- package/build-cjs/src/smoke-test.js.map +1 -1
- package/build-cjs/src/trie/characters.js +1 -0
- package/build-cjs/src/trie/characters.js.map +1 -1
- package/build-cjs/src/trie/create-trie.d.ts +1 -1
- package/build-cjs/src/trie/create-trie.js +5 -3
- package/build-cjs/src/trie/create-trie.js.map +1 -1
- package/build-cjs/src/trie/look-up.d.ts +2 -1
- package/build-cjs/src/trie/look-up.js +17 -3
- package/build-cjs/src/trie/look-up.js.map +1 -1
- package/build-cjs/src/trie/nodes.js +5 -2
- package/build-cjs/src/trie/nodes.js.map +1 -1
- package/build-cjs/src/trie/parse-trie.js +19 -5
- package/build-cjs/src/trie/parse-trie.js.map +1 -1
- package/build-cjs/src/trie/serialize-trie.js +3 -1
- package/build-cjs/src/trie/serialize-trie.js.map +1 -1
- package/build-cjs/src/type-util.d.ts +1 -1
- package/build-cjs/src/update-tries.js +7 -5
- package/build-cjs/src/update-tries.js.map +1 -1
- package/build-esm/serialized-tries/icann.json +1 -1
- package/build-esm/serialized-tries/info.json +1 -1
- package/build-esm/serialized-tries/private.json +1 -1
- package/build-esm/src/config.js.map +1 -1
- package/build-esm/src/from-url.js +1 -1
- package/build-esm/src/from-url.js.map +1 -1
- package/build-esm/src/main.d.ts +1 -1
- package/build-esm/src/main.js +3 -1
- package/build-esm/src/main.js.map +1 -1
- package/build-esm/src/parse-domain.d.ts +8 -2
- package/build-esm/src/parse-domain.js +2 -2
- package/build-esm/src/parse-domain.js.map +1 -1
- package/build-esm/src/psl/build-tries.js +10 -10
- package/build-esm/src/psl/build-tries.js.map +1 -1
- package/build-esm/src/psl/fetch-psl.js.map +1 -1
- package/build-esm/src/sanitize.d.ts +26 -4
- package/build-esm/src/sanitize.js +103 -35
- package/build-esm/src/sanitize.js.map +1 -1
- package/build-esm/src/serialized-tries.js.map +1 -1
- package/build-esm/src/smoke-test.js.map +1 -1
- package/build-esm/src/trie/create-trie.d.ts +1 -1
- package/build-esm/src/trie/create-trie.js.map +1 -1
- package/build-esm/src/trie/look-up.d.ts +2 -1
- package/build-esm/src/trie/look-up.js.map +1 -1
- package/build-esm/src/trie/nodes.js.map +1 -1
- package/build-esm/src/trie/parse-trie.js.map +1 -1
- package/build-esm/src/trie/serialize-trie.js.map +1 -1
- package/build-esm/src/type-util.d.ts +1 -1
- package/build-esm/src/type-util.js +1 -0
- package/build-esm/src/update-tries.js.map +1 -1
- package/package.json +93 -85
- package/CHANGELOG.md +0 -260
|
@@ -1,12 +1,32 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { version as getIpVersion } from "is-ip";
|
|
2
2
|
import { Label } from "./parse-domain";
|
|
3
3
|
import { NO_HOSTNAME } from "./from-url";
|
|
4
|
+
export declare enum Validation {
|
|
5
|
+
/**
|
|
6
|
+
* Allows any octets as labels
|
|
7
|
+
* but still restricts the length of labels and the overall domain.
|
|
8
|
+
*
|
|
9
|
+
* @see https://www.rfc-editor.org/rfc/rfc2181#section-11
|
|
10
|
+
**/
|
|
11
|
+
Lax = "LAX",
|
|
12
|
+
/**
|
|
13
|
+
* Only allows ASCII letters, digits and hyphens (aka LDH),
|
|
14
|
+
* forbids hyphens at the beginning or end of a label
|
|
15
|
+
* and requires top-level domain names not to be all-numeric.
|
|
16
|
+
*
|
|
17
|
+
* This is the default if no validation is configured.
|
|
18
|
+
*
|
|
19
|
+
* @see https://datatracker.ietf.org/doc/html/rfc3696#section-2
|
|
20
|
+
*/
|
|
21
|
+
Strict = "STRICT"
|
|
22
|
+
}
|
|
4
23
|
export declare enum ValidationErrorType {
|
|
5
24
|
NoHostname = "NO_HOSTNAME",
|
|
6
25
|
DomainMaxLength = "DOMAIN_MAX_LENGTH",
|
|
7
26
|
LabelMinLength = "LABEL_MIN_LENGTH",
|
|
8
27
|
LabelMaxLength = "LABEL_MAX_LENGTH",
|
|
9
|
-
LabelInvalidCharacter = "LABEL_INVALID_CHARACTER"
|
|
28
|
+
LabelInvalidCharacter = "LABEL_INVALID_CHARACTER",
|
|
29
|
+
LastLabelInvalid = "LAST_LABEL_INVALID"
|
|
10
30
|
}
|
|
11
31
|
export declare type ValidationError = {
|
|
12
32
|
type: ValidationErrorType;
|
|
@@ -21,7 +41,7 @@ export declare enum SanitizationResultType {
|
|
|
21
41
|
export declare type SanitizationResultValidIp = {
|
|
22
42
|
type: SanitizationResultType.ValidIp;
|
|
23
43
|
ip: string;
|
|
24
|
-
ipVersion: Exclude<ReturnType<typeof
|
|
44
|
+
ipVersion: Exclude<ReturnType<typeof getIpVersion>, undefined>;
|
|
25
45
|
};
|
|
26
46
|
export declare type SanitizationResultValidDomain = {
|
|
27
47
|
type: SanitizationResultType.ValidDomain;
|
|
@@ -33,4 +53,6 @@ export declare type SanitizationResultError = {
|
|
|
33
53
|
errors: Array<ValidationError>;
|
|
34
54
|
};
|
|
35
55
|
export declare type SanitizationResult = SanitizationResultValidIp | SanitizationResultValidDomain | SanitizationResultError;
|
|
36
|
-
export declare const sanitize: (input: string | typeof NO_HOSTNAME
|
|
56
|
+
export declare const sanitize: (input: string | typeof NO_HOSTNAME, options?: {
|
|
57
|
+
validation?: Validation;
|
|
58
|
+
}) => SanitizationResult;
|
|
@@ -1,12 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
import isIp from "is-ip";
|
|
1
|
+
import { version as getIpVersion } from "is-ip";
|
|
3
2
|
// See https://en.wikipedia.org/wiki/Domain_name
|
|
4
3
|
// See https://tools.ietf.org/html/rfc1034
|
|
5
4
|
const LABEL_SEPARATOR = ".";
|
|
6
|
-
const LABEL_ROOT = "";
|
|
7
5
|
const LABEL_LENGTH_MIN = 1;
|
|
8
6
|
const LABEL_LENGTH_MAX = 63;
|
|
7
|
+
/**
|
|
8
|
+
* 255 octets - 2 octets if you remove the last dot
|
|
9
|
+
* @see https://devblogs.microsoft.com/oldnewthing/20120412-00/?p=7873
|
|
10
|
+
*/
|
|
9
11
|
const DOMAIN_LENGTH_MAX = 253;
|
|
12
|
+
const textEncoder = new TextEncoder();
|
|
13
|
+
export var Validation;
|
|
14
|
+
(function (Validation) {
|
|
15
|
+
/**
|
|
16
|
+
* Allows any octets as labels
|
|
17
|
+
* but still restricts the length of labels and the overall domain.
|
|
18
|
+
*
|
|
19
|
+
* @see https://www.rfc-editor.org/rfc/rfc2181#section-11
|
|
20
|
+
**/
|
|
21
|
+
Validation["Lax"] = "LAX";
|
|
22
|
+
/**
|
|
23
|
+
* Only allows ASCII letters, digits and hyphens (aka LDH),
|
|
24
|
+
* forbids hyphens at the beginning or end of a label
|
|
25
|
+
* and requires top-level domain names not to be all-numeric.
|
|
26
|
+
*
|
|
27
|
+
* This is the default if no validation is configured.
|
|
28
|
+
*
|
|
29
|
+
* @see https://datatracker.ietf.org/doc/html/rfc3696#section-2
|
|
30
|
+
*/
|
|
31
|
+
Validation["Strict"] = "STRICT";
|
|
32
|
+
})(Validation || (Validation = {}));
|
|
10
33
|
export var ValidationErrorType;
|
|
11
34
|
(function (ValidationErrorType) {
|
|
12
35
|
ValidationErrorType["NoHostname"] = "NO_HOSTNAME";
|
|
@@ -14,6 +37,7 @@ export var ValidationErrorType;
|
|
|
14
37
|
ValidationErrorType["LabelMinLength"] = "LABEL_MIN_LENGTH";
|
|
15
38
|
ValidationErrorType["LabelMaxLength"] = "LABEL_MAX_LENGTH";
|
|
16
39
|
ValidationErrorType["LabelInvalidCharacter"] = "LABEL_INVALID_CHARACTER";
|
|
40
|
+
ValidationErrorType["LastLabelInvalid"] = "LAST_LABEL_INVALID";
|
|
17
41
|
})(ValidationErrorType || (ValidationErrorType = {}));
|
|
18
42
|
export var SanitizationResultType;
|
|
19
43
|
(function (SanitizationResultType) {
|
|
@@ -28,8 +52,7 @@ const createNoHostnameError = (input) => {
|
|
|
28
52
|
column: 1,
|
|
29
53
|
};
|
|
30
54
|
};
|
|
31
|
-
const createDomainMaxLengthError = (domain) => {
|
|
32
|
-
const length = domain.length;
|
|
55
|
+
const createDomainMaxLengthError = (domain, length) => {
|
|
33
56
|
return {
|
|
34
57
|
type: ValidationErrorType.DomainMaxLength,
|
|
35
58
|
message: `Domain "${domain}" is too long. Domain is ${length} octets long but should not be longer than ${DOMAIN_LENGTH_MAX}.`,
|
|
@@ -59,7 +82,14 @@ const createLabelInvalidCharacterError = (label, invalidCharacter, column) => {
|
|
|
59
82
|
column,
|
|
60
83
|
};
|
|
61
84
|
};
|
|
62
|
-
|
|
85
|
+
const createLastLabelInvalidError = (label, column) => {
|
|
86
|
+
return {
|
|
87
|
+
type: ValidationErrorType.LabelInvalidCharacter,
|
|
88
|
+
message: `Last label "${label}" must not be all-numeric.`,
|
|
89
|
+
column,
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
export const sanitize = (input, options = {}) => {
|
|
63
93
|
// Extra check for non-TypeScript users
|
|
64
94
|
if (typeof input !== "string") {
|
|
65
95
|
return {
|
|
@@ -68,10 +98,17 @@ export const sanitize = (input) => {
|
|
|
68
98
|
};
|
|
69
99
|
}
|
|
70
100
|
const inputTrimmed = input.trim();
|
|
101
|
+
if (inputTrimmed === "") {
|
|
102
|
+
return {
|
|
103
|
+
type: SanitizationResultType.ValidDomain,
|
|
104
|
+
domain: inputTrimmed,
|
|
105
|
+
labels: [],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
71
108
|
// IPv6 addresses are surrounded by square brackets in URLs
|
|
72
109
|
// See https://tools.ietf.org/html/rfc3986#section-3.2.2
|
|
73
110
|
const inputTrimmedAsIp = inputTrimmed.replace(/^\[|]$/g, "");
|
|
74
|
-
const ipVersion =
|
|
111
|
+
const ipVersion = getIpVersion(inputTrimmedAsIp);
|
|
75
112
|
if (ipVersion !== undefined) {
|
|
76
113
|
return {
|
|
77
114
|
type: SanitizationResultType.ValidIp,
|
|
@@ -79,38 +116,18 @@ export const sanitize = (input) => {
|
|
|
79
116
|
ipVersion,
|
|
80
117
|
};
|
|
81
118
|
}
|
|
82
|
-
|
|
119
|
+
const lastChar = inputTrimmed.charAt(inputTrimmed.length - 1);
|
|
120
|
+
const canonicalInput = lastChar === LABEL_SEPARATOR ? inputTrimmed.slice(0, -1) : inputTrimmed;
|
|
121
|
+
const octets = new TextEncoder().encode(canonicalInput);
|
|
122
|
+
if (octets.length > DOMAIN_LENGTH_MAX) {
|
|
83
123
|
return {
|
|
84
124
|
type: SanitizationResultType.Error,
|
|
85
|
-
errors: [createDomainMaxLengthError(inputTrimmed)],
|
|
125
|
+
errors: [createDomainMaxLengthError(inputTrimmed, octets.length)],
|
|
86
126
|
};
|
|
87
127
|
}
|
|
88
|
-
const labels =
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
if (lastLabel === LABEL_ROOT) {
|
|
92
|
-
labels.pop();
|
|
93
|
-
}
|
|
94
|
-
const labelValidationErrors = [];
|
|
95
|
-
let column = 1;
|
|
96
|
-
for (const label of labels) {
|
|
97
|
-
// According to https://tools.ietf.org/html/rfc6761 labels should
|
|
98
|
-
// only contain ASCII letters, digits and hyphens (LDH).
|
|
99
|
-
const invalidCharacter = /[^\d\-a-z]/iu.exec(label);
|
|
100
|
-
if (invalidCharacter) {
|
|
101
|
-
labelValidationErrors.push(createLabelInvalidCharacterError(label, invalidCharacter[0], invalidCharacter.index + 1));
|
|
102
|
-
}
|
|
103
|
-
else if (
|
|
104
|
-
// We can use .length here to check for the octet size because
|
|
105
|
-
// label can only contain ASCII LDH characters at this point.
|
|
106
|
-
label.length < LABEL_LENGTH_MIN) {
|
|
107
|
-
labelValidationErrors.push(createLabelMinLengthError(label, column));
|
|
108
|
-
}
|
|
109
|
-
else if (label.length > LABEL_LENGTH_MAX) {
|
|
110
|
-
labelValidationErrors.push(createLabelMaxLengthError(label, column));
|
|
111
|
-
}
|
|
112
|
-
column += label.length + LABEL_SEPARATOR.length;
|
|
113
|
-
}
|
|
128
|
+
const labels = canonicalInput.split(LABEL_SEPARATOR);
|
|
129
|
+
const { validation = Validation.Strict } = options;
|
|
130
|
+
const labelValidationErrors = validateLabels[validation](labels);
|
|
114
131
|
if (labelValidationErrors.length > 0) {
|
|
115
132
|
return {
|
|
116
133
|
type: SanitizationResultType.Error,
|
|
@@ -123,4 +140,55 @@ export const sanitize = (input) => {
|
|
|
123
140
|
labels,
|
|
124
141
|
};
|
|
125
142
|
};
|
|
143
|
+
const validateLabels = {
|
|
144
|
+
[Validation.Lax]: (labels) => {
|
|
145
|
+
const labelValidationErrors = [];
|
|
146
|
+
let column = 1;
|
|
147
|
+
for (const label of labels) {
|
|
148
|
+
const octets = textEncoder.encode(label);
|
|
149
|
+
if (octets.length < LABEL_LENGTH_MIN) {
|
|
150
|
+
labelValidationErrors.push(createLabelMinLengthError(label, column));
|
|
151
|
+
}
|
|
152
|
+
else if (octets.length > LABEL_LENGTH_MAX) {
|
|
153
|
+
labelValidationErrors.push(createLabelMaxLengthError(label, column));
|
|
154
|
+
}
|
|
155
|
+
column += label.length + LABEL_SEPARATOR.length;
|
|
156
|
+
}
|
|
157
|
+
return labelValidationErrors;
|
|
158
|
+
},
|
|
159
|
+
[Validation.Strict]: (labels) => {
|
|
160
|
+
const labelValidationErrors = [];
|
|
161
|
+
let column = 1;
|
|
162
|
+
let lastLabel;
|
|
163
|
+
for (const label of labels) {
|
|
164
|
+
// According to https://tools.ietf.org/html/rfc6761 labels should
|
|
165
|
+
// only contain ASCII letters, digits and hyphens (LDH).
|
|
166
|
+
const invalidCharacter = /[^\da-z-]/i.exec(label);
|
|
167
|
+
if (invalidCharacter) {
|
|
168
|
+
labelValidationErrors.push(createLabelInvalidCharacterError(label, invalidCharacter[0], invalidCharacter.index + 1));
|
|
169
|
+
}
|
|
170
|
+
if (label.startsWith("-")) {
|
|
171
|
+
labelValidationErrors.push(createLabelInvalidCharacterError(label, "-", column));
|
|
172
|
+
}
|
|
173
|
+
else if (label.endsWith("-")) {
|
|
174
|
+
labelValidationErrors.push(createLabelInvalidCharacterError(label, "-", column + label.length - 1));
|
|
175
|
+
}
|
|
176
|
+
if (
|
|
177
|
+
// We can use .length here to check for the octet size because
|
|
178
|
+
// label can only contain ASCII LDH characters at this point.
|
|
179
|
+
label.length < LABEL_LENGTH_MIN) {
|
|
180
|
+
labelValidationErrors.push(createLabelMinLengthError(label, column));
|
|
181
|
+
}
|
|
182
|
+
else if (label.length > LABEL_LENGTH_MAX) {
|
|
183
|
+
labelValidationErrors.push(createLabelMaxLengthError(label, column));
|
|
184
|
+
}
|
|
185
|
+
column += label.length + LABEL_SEPARATOR.length;
|
|
186
|
+
lastLabel = label;
|
|
187
|
+
}
|
|
188
|
+
if (lastLabel !== undefined && /[a-z-]/iu.test(lastLabel) === false) {
|
|
189
|
+
labelValidationErrors.push(createLastLabelInvalidError(lastLabel, column - lastLabel.length - LABEL_SEPARATOR.length));
|
|
190
|
+
}
|
|
191
|
+
return labelValidationErrors;
|
|
192
|
+
},
|
|
193
|
+
};
|
|
126
194
|
//# sourceMappingURL=sanitize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/sanitize.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/sanitize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-tries.js","sourceRoot":"","sources":["../../src/serialized-tries.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gCAAgC,CAAC;AACvD,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAE3D,OAAO,
|
|
1
|
+
{"version":3,"file":"serialized-tries.js","sourceRoot":"","sources":["../../src/serialized-tries.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gCAAgC,CAAC;AACvD,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-test.js","sourceRoot":"","sources":["../../src/smoke-test.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;QAC9C,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,QAAQ;QACd,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,QAAQ;QACd,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,QAAQ;QACd,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,oDAAoD;IACpD,0DAA0D;IAC1D,eAAe,CAAC,WAAW,CAAC,+BAA+B,CAAC,EAAE;QAC5D,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,QAAQ;QACd,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const createTrieFromList: (list: string
|
|
1
|
+
export declare const createTrieFromList: (list: Array<string>) => import("./nodes").TrieRootNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-trie.js","sourceRoot":"","sources":["../../../src/trie/create-trie.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-trie.js","sourceRoot":"","sources":["../../../src/trie/create-trie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAY,MAAM,SAAS,CAAC;AAErE,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"look-up.js","sourceRoot":"","sources":["../../../src/trie/look-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAI3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAoB,EAAE,IAAc,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"look-up.js","sourceRoot":"","sources":["../../../src/trie/look-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAI3C,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"}
|
|
@@ -1 +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;
|
|
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
|
-
{"version":3,"file":"parse-trie.js","sourceRoot":"","sources":["../../../src/trie/parse-trie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"parse-trie.js","sourceRoot":"","sources":["../../../src/trie/parse-trie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,cAAsB,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,GAAa,QAAQ,CAAC;IACpC,gEAAgE;IAChE,6EAA6E;IAC7E,IAAI,IAAI,GAAG,QAAoB,CAAC;IAEhC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,GAAG,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtC,QAAQ,IAAI,EAAE;YACZ,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpB,SAAS,EAAE,CAAC;gBACZ,SAAS;aACV;YACD,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpB,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS;aACV;YACD,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,QAAQ,CAAC;gBACtB,SAAS;aACV;YACD,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;gBAClB,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE;oBACtC,MAAM,IAAI,KAAK,CACb,wCAAwC,CAAC,qDAAqD,CAC/F,CAAC;iBACH;gBACD,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,SAAS;aACV;SACF;QACD,MAAM,IAAI,IAAI,CAAC;KAChB;IAED,IAAI,MAAM,KAAK,EAAE,EAAE;QACjB,SAAS,EAAE,CAAC;KACb;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize-trie.js","sourceRoot":"","sources":["../../../src/trie/serialize-trie.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"serialize-trie.js","sourceRoot":"","sources":["../../../src/trie/serialize-trie.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAkB,EAAU,EAAE;IAkB1D,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,KAAK,GAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,IAAI,OAA8B,CAAC;IAEnC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,EAAE;QAC9C,IAAI,OAAO,KAAK,EAAE,EAAE;YAClB,UAAU,IAAI,EAAE,CAAC;YACjB,SAAS;SACV;QACD,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,UAAU,IAAI,IAAI,CAAC;aACpB;YACD,SAAS;SACV;QACD,UAAU,IAAI,IAAI,CAAC;QAEnB,MAAM,QAAQ,GAAqB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnB;QACD,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;KAC5B;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-tries.js","sourceRoot":"","sources":["../../src/update-tries.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"update-tries.js","sourceRoot":"","sources":["../../src/update-tries.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAS,EAAE;IACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,qBAAqB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAEzD,OAAO;QACL,mBAAmB;QACnB,qBAAqB;KACtB,CAAC;AACJ,CAAC,CAAA,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,87 +1,95 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
2
|
+
"name": "parse-domain",
|
|
3
|
+
"version": "5.0.0",
|
|
4
|
+
"description": "Splits a hostname into subdomains, domain and (effective) top-level domains",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"domain",
|
|
7
|
+
"url",
|
|
8
|
+
"sub-domain",
|
|
9
|
+
"tld",
|
|
10
|
+
"parse",
|
|
11
|
+
"sanitize",
|
|
12
|
+
"top-level"
|
|
13
|
+
],
|
|
14
|
+
"main": "./build-cjs/src/main.js",
|
|
15
|
+
"module": "./build-esm/src/main.js",
|
|
16
|
+
"types": "./build-esm/src/main.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
"require": "./build-cjs/src/main.js",
|
|
19
|
+
"node": "./build-cjs/src/main.mjs",
|
|
20
|
+
"default": "./build-esm/src/main.js"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"test": "run-p test:*",
|
|
24
|
+
"test:suite": "jest",
|
|
25
|
+
"posttest": "run-s build posttest:*",
|
|
26
|
+
"posttest:lint": "eslint --cache --ext js,ts *.js src bin",
|
|
27
|
+
"build": "run-s build:*",
|
|
28
|
+
"build:cleanup": "rimraf build-cjs build-esm",
|
|
29
|
+
"build:tsc": "run-p build:tsc:cjs build:tsc:esm",
|
|
30
|
+
"build:tsc:cjs": "tsc -p ./tsconfig.build-cjs.json",
|
|
31
|
+
"build:tsc:esm": "tsc -p ./tsconfig.build-esm.json",
|
|
32
|
+
"build:cpy": "cpy ./src/main.mjs ./build-cjs/src",
|
|
33
|
+
"build:update": "./bin/update.js",
|
|
34
|
+
"prepare": "husky install",
|
|
35
|
+
"update:psl-fixture": "ts-node --transpile-only ./src/scripts/update-psl-fixture.ts",
|
|
36
|
+
"update:tries": "ts-node --transpile-only ./src/scripts/update-tries.ts -- ../../serialized-tries",
|
|
37
|
+
"update:dependencies": "updtr"
|
|
38
|
+
},
|
|
39
|
+
"bin": {
|
|
40
|
+
"parse-domain-update": "./bin/update.js"
|
|
41
|
+
},
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/peerigon/parse-domain.git"
|
|
45
|
+
},
|
|
46
|
+
"author": "peerigon <developers@peerigon.com>",
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"files": [
|
|
49
|
+
"bin",
|
|
50
|
+
"build-cjs",
|
|
51
|
+
"build-esm"
|
|
52
|
+
],
|
|
53
|
+
"sideEffects": false,
|
|
54
|
+
"lint-staged": {
|
|
55
|
+
"*.{ts,tsx,js,cjs,mjs,jsx}": [
|
|
56
|
+
"eslint --cache --fix",
|
|
57
|
+
"prettier --write"
|
|
58
|
+
],
|
|
59
|
+
".github/workflows/*.{yml,yaml}": [
|
|
60
|
+
"pin-github-action --allow-empty",
|
|
61
|
+
"prettier --write"
|
|
62
|
+
],
|
|
63
|
+
"*.{json,css,md,yml,yaml}": "prettier --write"
|
|
64
|
+
},
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"is-ip": "^3.1.0",
|
|
67
|
+
"node-fetch": "^2.6.1",
|
|
68
|
+
"punycode": "^2.1.1"
|
|
69
|
+
},
|
|
70
|
+
"devDependencies": {
|
|
71
|
+
"@types/jest": "^27.0.1",
|
|
72
|
+
"@types/node": "^16.7.10",
|
|
73
|
+
"@types/node-fetch": "^2.5.12",
|
|
74
|
+
"@types/punycode": "^2.1.0",
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "^4.30.0",
|
|
76
|
+
"@typescript-eslint/parser": "^4.30.0",
|
|
77
|
+
"cpy-cli": "^3.1.1",
|
|
78
|
+
"eslint": "^7.32.0",
|
|
79
|
+
"eslint-config-peerigon": "^31.0.2",
|
|
80
|
+
"eslint-plugin-no-null": "^1.0.2",
|
|
81
|
+
"eslint-plugin-node": "^11.1.0",
|
|
82
|
+
"husky": "^7.0.2",
|
|
83
|
+
"jest": "^27.1.0",
|
|
84
|
+
"lint-staged": "^11.1.2",
|
|
85
|
+
"nock": "^13.1.3",
|
|
86
|
+
"npm-run-all": "^4.1.5",
|
|
87
|
+
"pin-github-action": "^1.4.0",
|
|
88
|
+
"prettier": "^2.3.2",
|
|
89
|
+
"rimraf": "^3.0.2",
|
|
90
|
+
"ts-jest": "^27.0.5",
|
|
91
|
+
"ts-node": "^10.2.1",
|
|
92
|
+
"typescript": "^4.4.2",
|
|
93
|
+
"updtr": "^4.0.0"
|
|
94
|
+
}
|
|
87
95
|
}
|