@adtrackify/at-service-common 3.4.8 → 3.4.10
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/dist/cjs/__tests__/libs/domain.spec.js +7 -70
- package/dist/cjs/__tests__/libs/domain.spec.js.map +1 -1
- package/dist/cjs/libs/domain.js +3 -1
- package/dist/cjs/libs/domain.js.map +1 -1
- package/dist/esm/__tests__/libs/domain.spec.js +7 -70
- package/dist/esm/__tests__/libs/domain.spec.js.map +1 -1
- package/dist/esm/libs/domain.js +3 -1
- package/dist/esm/libs/domain.js.map +1 -1
- package/package.json +2 -1
|
@@ -75,46 +75,19 @@ describe('getDomainFromUrl', () => {
|
|
|
75
75
|
expect((0, domain_1.getDomainFromUrl)('example.com')).toBe('example.com');
|
|
76
76
|
});
|
|
77
77
|
it('should extract domain from URL with subdomain', () => {
|
|
78
|
-
expect((0, domain_1.getDomainFromUrl)('https://sub.example.com')).toBe('
|
|
78
|
+
expect((0, domain_1.getDomainFromUrl)('https://sub.example.com')).toBe('example.com');
|
|
79
79
|
});
|
|
80
|
-
it('should extract domain from URL with
|
|
81
|
-
expect((0, domain_1.getDomainFromUrl)('https://
|
|
82
|
-
});
|
|
83
|
-
it('should extract domain from URL with path', () => {
|
|
84
|
-
expect((0, domain_1.getDomainFromUrl)('https://example.com/path')).toBe('example.com');
|
|
85
|
-
});
|
|
86
|
-
it('should extract domain from URL with query parameters', () => {
|
|
87
|
-
expect((0, domain_1.getDomainFromUrl)('https://example.com?param=value')).toBe('example.com');
|
|
88
|
-
});
|
|
89
|
-
it('should extract domain from URL with fragment', () => {
|
|
90
|
-
expect((0, domain_1.getDomainFromUrl)('https://example.com#fragment')).toBe('example.com');
|
|
80
|
+
it('should extract domain from URL with path and query', () => {
|
|
81
|
+
expect((0, domain_1.getDomainFromUrl)('https://example.com/path?param=value')).toBe('example.com');
|
|
91
82
|
});
|
|
92
83
|
it('should extract domain from URL with port', () => {
|
|
93
84
|
expect((0, domain_1.getDomainFromUrl)('https://example.com:8080')).toBe('example.com');
|
|
94
85
|
});
|
|
95
|
-
it('should handle
|
|
96
|
-
expect((0, domain_1.getDomainFromUrl)('
|
|
97
|
-
});
|
|
98
|
-
it('should handle mixed case URL', () => {
|
|
99
|
-
expect((0, domain_1.getDomainFromUrl)('Https://Example.Com')).toBe('https');
|
|
100
|
-
});
|
|
101
|
-
it('should handle URL with numbers in domain', () => {
|
|
102
|
-
expect((0, domain_1.getDomainFromUrl)('https://example123.com')).toBe('example123.com');
|
|
103
|
-
});
|
|
104
|
-
it('should handle URL with hyphens in domain', () => {
|
|
105
|
-
expect((0, domain_1.getDomainFromUrl)('https://my-example.com')).toBe('my-example.com');
|
|
106
|
-
});
|
|
107
|
-
it('should handle URL with underscores in domain', () => {
|
|
108
|
-
expect((0, domain_1.getDomainFromUrl)('https://my_example.com')).toBe('my_example.com');
|
|
86
|
+
it('should handle URL with www prefix', () => {
|
|
87
|
+
expect((0, domain_1.getDomainFromUrl)('https://www.example.com')).toBe('example.com');
|
|
109
88
|
});
|
|
110
|
-
it('should handle
|
|
111
|
-
expect((0, domain_1.getDomainFromUrl)('https://
|
|
112
|
-
});
|
|
113
|
-
it('should handle URL with localhost', () => {
|
|
114
|
-
expect((0, domain_1.getDomainFromUrl)('http://localhost')).toBe('localhost');
|
|
115
|
-
});
|
|
116
|
-
it('should handle URL with localhost and port', () => {
|
|
117
|
-
expect((0, domain_1.getDomainFromUrl)('http://localhost:3000')).toBe('localhost');
|
|
89
|
+
it('should handle international domain', () => {
|
|
90
|
+
expect((0, domain_1.getDomainFromUrl)('https://example.co.uk')).toBe('example.co.uk');
|
|
118
91
|
});
|
|
119
92
|
});
|
|
120
93
|
describe('invalid URLs', () => {
|
|
@@ -124,48 +97,12 @@ describe('getDomainFromUrl', () => {
|
|
|
124
97
|
it('should return null for null input', () => {
|
|
125
98
|
expect((0, domain_1.getDomainFromUrl)(null)).toBeNull();
|
|
126
99
|
});
|
|
127
|
-
it('should return null for undefined input', () => {
|
|
128
|
-
expect((0, domain_1.getDomainFromUrl)(undefined)).toBeNull();
|
|
129
|
-
});
|
|
130
100
|
it('should return null for non-string input', () => {
|
|
131
101
|
expect((0, domain_1.getDomainFromUrl)(123)).toBeNull();
|
|
132
|
-
expect((0, domain_1.getDomainFromUrl)({})).toBeNull();
|
|
133
|
-
expect((0, domain_1.getDomainFromUrl)([])).toBeNull();
|
|
134
|
-
});
|
|
135
|
-
it('should return domain for invalid URL format (treated as domain)', () => {
|
|
136
|
-
expect((0, domain_1.getDomainFromUrl)('not-a-url')).toBe('not-a-url');
|
|
137
|
-
});
|
|
138
|
-
it('should return protocol for URL with invalid protocol', () => {
|
|
139
|
-
expect((0, domain_1.getDomainFromUrl)('ftp://example.com')).toBe('ftp');
|
|
140
102
|
});
|
|
141
103
|
it('should return null for malformed URL', () => {
|
|
142
104
|
expect((0, domain_1.getDomainFromUrl)('http://')).toBeNull();
|
|
143
105
|
});
|
|
144
106
|
});
|
|
145
|
-
describe('edge cases', () => {
|
|
146
|
-
it('should handle URL with trailing slash', () => {
|
|
147
|
-
expect((0, domain_1.getDomainFromUrl)('https://example.com/')).toBe('example.com');
|
|
148
|
-
});
|
|
149
|
-
it('should handle URL with multiple slashes', () => {
|
|
150
|
-
expect((0, domain_1.getDomainFromUrl)('https://example.com///path')).toBe('example.com');
|
|
151
|
-
});
|
|
152
|
-
it('should handle URL with special characters in path', () => {
|
|
153
|
-
expect((0, domain_1.getDomainFromUrl)('https://example.com/path with spaces')).toBe('example.com');
|
|
154
|
-
});
|
|
155
|
-
it('should handle URL with encoded characters', () => {
|
|
156
|
-
expect((0, domain_1.getDomainFromUrl)('https://example.com/path%20with%20spaces')).toBe('example.com');
|
|
157
|
-
});
|
|
158
|
-
it('should handle URL with special characters in domain', () => {
|
|
159
|
-
expect((0, domain_1.getDomainFromUrl)('https://example-domain.com')).toBe('example-domain.com');
|
|
160
|
-
});
|
|
161
|
-
it('should handle URL with international domain', () => {
|
|
162
|
-
expect((0, domain_1.getDomainFromUrl)('https://example.co.uk')).toBe('example.co.uk');
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
describe('error handling', () => {
|
|
166
|
-
it('should handle URL that causes URL constructor to throw', () => {
|
|
167
|
-
expect((0, domain_1.getDomainFromUrl)('http://')).toBeNull();
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
107
|
});
|
|
171
108
|
//# sourceMappingURL=domain.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/domain.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"domain.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/domain.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/libs/domain.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDomainFromUrl = exports.getDomainFromEmail = void 0;
|
|
4
4
|
const logging_helper_1 = require("../helpers/logging-helper");
|
|
5
|
+
const psl_1 = require("psl");
|
|
5
6
|
const getDomainFromEmail = (email) => {
|
|
6
7
|
try {
|
|
7
8
|
if (!email || typeof email !== 'string') {
|
|
@@ -26,7 +27,8 @@ const getDomainFromUrl = (url) => {
|
|
|
26
27
|
}
|
|
27
28
|
const normalizedUrl = url.match(/^https?:\/\//) ? url : `https://${url}`;
|
|
28
29
|
const hostname = new URL(normalizedUrl).hostname.toLowerCase();
|
|
29
|
-
|
|
30
|
+
const parsed = (0, psl_1.parse)(hostname);
|
|
31
|
+
return parsed?.domain || null;
|
|
30
32
|
}
|
|
31
33
|
catch (error) {
|
|
32
34
|
logging_helper_1.Logger.error('error getting domain from url', { error, url });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/libs/domain.ts"],"names":[],"mappings":";;;AAAA,8DAAmD;
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/libs/domain.ts"],"names":[],"mappings":";;;AAAA,8DAAmD;AACnD,6BAA0C;AAEnC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAiB,EAAE;IACjE,IAAI;QACF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACvC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KACpC;IAAC,OAAO,KAAK,EAAE;QACd,uBAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAiB,EAAE;IAC7D,IAAI;QACF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACnC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAA,WAAK,EAAC,QAAQ,CAAC,CAAC;QAC/B,OAAQ,MAAuB,EAAE,MAAM,IAAI,IAAI,CAAC;KACjD;IAAC,OAAO,KAAK,EAAE;QACd,uBAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B"}
|
|
@@ -73,46 +73,19 @@ describe('getDomainFromUrl', () => {
|
|
|
73
73
|
expect(getDomainFromUrl('example.com')).toBe('example.com');
|
|
74
74
|
});
|
|
75
75
|
it('should extract domain from URL with subdomain', () => {
|
|
76
|
-
expect(getDomainFromUrl('https://sub.example.com')).toBe('
|
|
76
|
+
expect(getDomainFromUrl('https://sub.example.com')).toBe('example.com');
|
|
77
77
|
});
|
|
78
|
-
it('should extract domain from URL with
|
|
79
|
-
expect(getDomainFromUrl('https://
|
|
80
|
-
});
|
|
81
|
-
it('should extract domain from URL with path', () => {
|
|
82
|
-
expect(getDomainFromUrl('https://example.com/path')).toBe('example.com');
|
|
83
|
-
});
|
|
84
|
-
it('should extract domain from URL with query parameters', () => {
|
|
85
|
-
expect(getDomainFromUrl('https://example.com?param=value')).toBe('example.com');
|
|
86
|
-
});
|
|
87
|
-
it('should extract domain from URL with fragment', () => {
|
|
88
|
-
expect(getDomainFromUrl('https://example.com#fragment')).toBe('example.com');
|
|
78
|
+
it('should extract domain from URL with path and query', () => {
|
|
79
|
+
expect(getDomainFromUrl('https://example.com/path?param=value')).toBe('example.com');
|
|
89
80
|
});
|
|
90
81
|
it('should extract domain from URL with port', () => {
|
|
91
82
|
expect(getDomainFromUrl('https://example.com:8080')).toBe('example.com');
|
|
92
83
|
});
|
|
93
|
-
it('should handle
|
|
94
|
-
expect(getDomainFromUrl('
|
|
95
|
-
});
|
|
96
|
-
it('should handle mixed case URL', () => {
|
|
97
|
-
expect(getDomainFromUrl('Https://Example.Com')).toBe('https');
|
|
98
|
-
});
|
|
99
|
-
it('should handle URL with numbers in domain', () => {
|
|
100
|
-
expect(getDomainFromUrl('https://example123.com')).toBe('example123.com');
|
|
101
|
-
});
|
|
102
|
-
it('should handle URL with hyphens in domain', () => {
|
|
103
|
-
expect(getDomainFromUrl('https://my-example.com')).toBe('my-example.com');
|
|
104
|
-
});
|
|
105
|
-
it('should handle URL with underscores in domain', () => {
|
|
106
|
-
expect(getDomainFromUrl('https://my_example.com')).toBe('my_example.com');
|
|
84
|
+
it('should handle URL with www prefix', () => {
|
|
85
|
+
expect(getDomainFromUrl('https://www.example.com')).toBe('example.com');
|
|
107
86
|
});
|
|
108
|
-
it('should handle
|
|
109
|
-
expect(getDomainFromUrl('https://
|
|
110
|
-
});
|
|
111
|
-
it('should handle URL with localhost', () => {
|
|
112
|
-
expect(getDomainFromUrl('http://localhost')).toBe('localhost');
|
|
113
|
-
});
|
|
114
|
-
it('should handle URL with localhost and port', () => {
|
|
115
|
-
expect(getDomainFromUrl('http://localhost:3000')).toBe('localhost');
|
|
87
|
+
it('should handle international domain', () => {
|
|
88
|
+
expect(getDomainFromUrl('https://example.co.uk')).toBe('example.co.uk');
|
|
116
89
|
});
|
|
117
90
|
});
|
|
118
91
|
describe('invalid URLs', () => {
|
|
@@ -122,48 +95,12 @@ describe('getDomainFromUrl', () => {
|
|
|
122
95
|
it('should return null for null input', () => {
|
|
123
96
|
expect(getDomainFromUrl(null)).toBeNull();
|
|
124
97
|
});
|
|
125
|
-
it('should return null for undefined input', () => {
|
|
126
|
-
expect(getDomainFromUrl(undefined)).toBeNull();
|
|
127
|
-
});
|
|
128
98
|
it('should return null for non-string input', () => {
|
|
129
99
|
expect(getDomainFromUrl(123)).toBeNull();
|
|
130
|
-
expect(getDomainFromUrl({})).toBeNull();
|
|
131
|
-
expect(getDomainFromUrl([])).toBeNull();
|
|
132
|
-
});
|
|
133
|
-
it('should return domain for invalid URL format (treated as domain)', () => {
|
|
134
|
-
expect(getDomainFromUrl('not-a-url')).toBe('not-a-url');
|
|
135
|
-
});
|
|
136
|
-
it('should return protocol for URL with invalid protocol', () => {
|
|
137
|
-
expect(getDomainFromUrl('ftp://example.com')).toBe('ftp');
|
|
138
100
|
});
|
|
139
101
|
it('should return null for malformed URL', () => {
|
|
140
102
|
expect(getDomainFromUrl('http://')).toBeNull();
|
|
141
103
|
});
|
|
142
104
|
});
|
|
143
|
-
describe('edge cases', () => {
|
|
144
|
-
it('should handle URL with trailing slash', () => {
|
|
145
|
-
expect(getDomainFromUrl('https://example.com/')).toBe('example.com');
|
|
146
|
-
});
|
|
147
|
-
it('should handle URL with multiple slashes', () => {
|
|
148
|
-
expect(getDomainFromUrl('https://example.com///path')).toBe('example.com');
|
|
149
|
-
});
|
|
150
|
-
it('should handle URL with special characters in path', () => {
|
|
151
|
-
expect(getDomainFromUrl('https://example.com/path with spaces')).toBe('example.com');
|
|
152
|
-
});
|
|
153
|
-
it('should handle URL with encoded characters', () => {
|
|
154
|
-
expect(getDomainFromUrl('https://example.com/path%20with%20spaces')).toBe('example.com');
|
|
155
|
-
});
|
|
156
|
-
it('should handle URL with special characters in domain', () => {
|
|
157
|
-
expect(getDomainFromUrl('https://example-domain.com')).toBe('example-domain.com');
|
|
158
|
-
});
|
|
159
|
-
it('should handle URL with international domain', () => {
|
|
160
|
-
expect(getDomainFromUrl('https://example.co.uk')).toBe('example.co.uk');
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
describe('error handling', () => {
|
|
164
|
-
it('should handle URL that causes URL constructor to throw', () => {
|
|
165
|
-
expect(getDomainFromUrl('http://')).toBeNull();
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
105
|
});
|
|
169
106
|
//# sourceMappingURL=domain.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/domain.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"domain.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/domain.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/libs/domain.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Logger } from '../helpers/logging-helper';
|
|
2
|
+
import { parse } from 'psl';
|
|
2
3
|
export const getDomainFromEmail = (email) => {
|
|
3
4
|
try {
|
|
4
5
|
if (!email || typeof email !== 'string') {
|
|
@@ -22,7 +23,8 @@ export const getDomainFromUrl = (url) => {
|
|
|
22
23
|
}
|
|
23
24
|
const normalizedUrl = url.match(/^https?:\/\//) ? url : `https://${url}`;
|
|
24
25
|
const hostname = new URL(normalizedUrl).hostname.toLowerCase();
|
|
25
|
-
|
|
26
|
+
const parsed = parse(hostname);
|
|
27
|
+
return parsed?.domain || null;
|
|
26
28
|
}
|
|
27
29
|
catch (error) {
|
|
28
30
|
Logger.error('error getting domain from url', { error, url });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/libs/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/libs/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAgB,MAAM,KAAK,CAAC;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAiB,EAAE;IACjE,IAAI;QACF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACvC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KACpC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAiB,EAAE;IAC7D,IAAI;QACF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACnC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE/D,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAQ,MAAuB,EAAE,MAAM,IAAI,IAAI,CAAC;KACjD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adtrackify/at-service-common",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/*"
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"libphonenumber-js": "^1.12.10",
|
|
47
47
|
"pako": "^2.1.0",
|
|
48
48
|
"papaparse": "^5.5.3",
|
|
49
|
+
"psl": "^1.15.0",
|
|
49
50
|
"shopify-api-node": "^3.12.7",
|
|
50
51
|
"ulid": "^3.0.1"
|
|
51
52
|
},
|