@helia/ipns 6.0.0-8a5bc6f → 6.0.0-9b1ddf8
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/index.min.js +4 -4
- package/dist/src/utils/dns.d.ts.map +1 -1
- package/dist/src/utils/dns.js +7 -6
- package/dist/src/utils/dns.js.map +1 -1
- package/package.json +11 -12
- package/src/utils/dns.ts +8 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../../src/utils/dns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,WAAY,MAAM,KAAG,MAYlD,CAAA;AAED,eAAO,MAAM,iBAAiB,WAAY,MAAM,YAAY,WAAW;cAAe,MAAM;YAAU,MAAM;CAO3G,CAAA;AAED,eAAO,MAAM,iBAAiB,WAAY,MAAM,YAAY,WAAW,KAAG,MAQzE,CAAA;AAED,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,eAAO,MAAM,uBAAuB,WAAkB,MAAM,SAAS,MAAM,WAAW,WAAW,YAAW,qBAAqB,KAAQ,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../../src/utils/dns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,WAAY,MAAM,KAAG,MAYlD,CAAA;AAED,eAAO,MAAM,iBAAiB,WAAY,MAAM,YAAY,WAAW;cAAe,MAAM;YAAU,MAAM;CAO3G,CAAA;AAED,eAAO,MAAM,iBAAiB,WAAY,MAAM,YAAY,WAAW,KAAG,MAQzE,CAAA;AAED,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,eAAO,MAAM,uBAAuB,WAAkB,MAAM,SAAS,MAAM,WAAW,WAAW,YAAW,qBAAqB,KAAQ,QAAQ,MAAM,CA0CtJ,CAAA;AAED,UAAU,WAAW;IACnB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;CAChD;AAGD,eAAO,MAAM,SAAS,aAAoB,WAAW,UAAU,MAAM,KAAG,QAAQ,MAAM,CAerF,CAAA"}
|
package/dist/src/utils/dns.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CodeError } from '@libp2p/interface';
|
|
2
|
-
import
|
|
2
|
+
import { CID } from 'multiformats/cid';
|
|
3
3
|
export const ipfsPathForAnswer = (answer) => {
|
|
4
4
|
let data = answer.data;
|
|
5
5
|
if (data.startsWith('"')) {
|
|
@@ -53,13 +53,14 @@ export const recursiveResolveDnslink = async (domain, depth, resolve, options =
|
|
|
53
53
|
const result = dnslinkRecord.replace('dnslink=', '');
|
|
54
54
|
// result is now a `/ipfs/<cid>` or `/ipns/<cid>` string
|
|
55
55
|
const domainOrCID = result.split('/')[2]; // e.g. ["", "ipfs", "<cid>"]
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
try {
|
|
57
|
+
CID.parse(domainOrCID);
|
|
58
|
+
// if the result is a CID, or depth is 1, we've reached the end of the recursion
|
|
59
|
+
// if depth is 1, another recursive call will be made, but it would throw.
|
|
60
|
+
// we could return if depth is 1 and allow users to handle, but that may be a breaking change
|
|
61
61
|
return result;
|
|
62
62
|
}
|
|
63
|
+
catch { }
|
|
63
64
|
return recursiveResolveDnslink(domainOrCID, depth - 1, resolve, options);
|
|
64
65
|
};
|
|
65
66
|
const DNSLINK_REGEX = /^dnslink=.+$/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../../src/utils/dns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../../src/utils/dns.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/ipns",
|
|
3
|
-
"version": "6.0.0-
|
|
3
|
+
"version": "6.0.0-9b1ddf8",
|
|
4
4
|
"description": "An implementation of IPNS for Helia",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/ipns#readme",
|
|
@@ -164,26 +164,25 @@
|
|
|
164
164
|
"release": "aegir release"
|
|
165
165
|
},
|
|
166
166
|
"dependencies": {
|
|
167
|
-
"@helia/interface": "4.0.0-
|
|
168
|
-
"@libp2p/interface": "^1.1.
|
|
169
|
-
"@libp2p/kad-dht": "^12.0.
|
|
170
|
-
"@libp2p/logger": "^4.0.
|
|
167
|
+
"@helia/interface": "4.0.0-9b1ddf8",
|
|
168
|
+
"@libp2p/interface": "^1.1.2",
|
|
169
|
+
"@libp2p/kad-dht": "^12.0.5",
|
|
170
|
+
"@libp2p/logger": "^4.0.5",
|
|
171
171
|
"@libp2p/peer-id": "^4.0.5",
|
|
172
|
-
"dns-over-http-resolver": "^3.0.
|
|
173
|
-
"dns-packet": "^5.6.
|
|
172
|
+
"dns-over-http-resolver": "^3.0.2",
|
|
173
|
+
"dns-packet": "^5.6.1",
|
|
174
174
|
"hashlru": "^2.3.0",
|
|
175
|
-
"interface-datastore": "^8.2.
|
|
175
|
+
"interface-datastore": "^8.2.10",
|
|
176
176
|
"ipns": "^9.0.0",
|
|
177
|
-
"
|
|
178
|
-
"multiformats": "^13.0.0",
|
|
177
|
+
"multiformats": "^13.0.1",
|
|
179
178
|
"p-queue": "^8.0.1",
|
|
180
179
|
"progress-events": "^1.0.0",
|
|
181
180
|
"uint8arrays": "^5.0.1"
|
|
182
181
|
},
|
|
183
182
|
"devDependencies": {
|
|
184
183
|
"@libp2p/peer-id-factory": "^4.0.5",
|
|
185
|
-
"@types/dns-packet": "^5.6.
|
|
186
|
-
"aegir": "^42.
|
|
184
|
+
"@types/dns-packet": "^5.6.5",
|
|
185
|
+
"aegir": "^42.2.2",
|
|
187
186
|
"datastore-core": "^9.2.7",
|
|
188
187
|
"sinon": "^17.0.1",
|
|
189
188
|
"sinon-ts": "^2.0.0"
|
package/src/utils/dns.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CodeError } from '@libp2p/interface'
|
|
2
|
-
import
|
|
2
|
+
import { CID } from 'multiformats/cid'
|
|
3
3
|
import type { DNSResolver, ResolveDnsLinkOptions } from '../index.js'
|
|
4
4
|
|
|
5
5
|
export interface Question {
|
|
@@ -91,14 +91,15 @@ export const recursiveResolveDnslink = async (domain: string, depth: number, res
|
|
|
91
91
|
const result = dnslinkRecord.replace('dnslink=', '')
|
|
92
92
|
// result is now a `/ipfs/<cid>` or `/ipns/<cid>` string
|
|
93
93
|
const domainOrCID = result.split('/')[2] // e.g. ["", "ipfs", "<cid>"]
|
|
94
|
-
const isIPFSCID = isIPFS.cid(domainOrCID)
|
|
95
94
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
try {
|
|
96
|
+
CID.parse(domainOrCID)
|
|
97
|
+
|
|
98
|
+
// if the result is a CID, or depth is 1, we've reached the end of the recursion
|
|
99
|
+
// if depth is 1, another recursive call will be made, but it would throw.
|
|
100
|
+
// we could return if depth is 1 and allow users to handle, but that may be a breaking change
|
|
100
101
|
return result
|
|
101
|
-
}
|
|
102
|
+
} catch {}
|
|
102
103
|
|
|
103
104
|
return recursiveResolveDnslink(domainOrCID, depth - 1, resolve, options)
|
|
104
105
|
}
|