Skip to content

Commit b3d2da0

Browse files
authored
fix: add special case for geoip-lite (#446)
Currently, nft can not handle data assets of `geoip-lite` package properly. Error message like below ⬇️ <img width="1333" alt="image" src="https://github.com/user-attachments/assets/3fe76911-33e2-4b3d-8a20-245c1e79567c"> Test Code ```js const geoip = require('geoip-lite'); const ip = "207.97.227.239"; const geo = geoip.lookup(ip); ``` This PR adds essential data files as assets for `geoip-lite` in special-case to solve it.
1 parent 7471794 commit b3d2da0

File tree

4 files changed

+90
-0
lines changed

4 files changed

+90
-0
lines changed

package-lock.json

+76
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
"firebase-admin": "^12.0.0",
7979
"fluent-ffmpeg": "^2.1.2",
8080
"geo-tz": "^7.0.1",
81+
"geoip-lite": "^1.4.10",
8182
"graphql": "^14.4.2",
8283
"highlights": "^3.1.6",
8384
"hot-shots": "^6.3.0",

src/utils/special-cases.ts

+9
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,15 @@ const specialCases: Record<string, (o: SpecialCaseOpts) => void> = {
333333
emitDependency(resolve(dirname(id), 'bin/pixelmatch'));
334334
}
335335
},
336+
'geoip-lite'({ id, emitAsset }) {
337+
if (id.endsWith('geoip-lite/lib/geoip.js')) {
338+
emitAsset(resolve(dirname(id), '../data/geoip-city.dat'));
339+
emitAsset(resolve(dirname(id), '../data/geoip-city6.dat'));
340+
emitAsset(resolve(dirname(id), '../data/geoip-city-names.dat'));
341+
emitAsset(resolve(dirname(id), '../data/geoip-country.dat'));
342+
emitAsset(resolve(dirname(id), '../data/geoip-country6.dat'));
343+
}
344+
},
336345
};
337346

338347
interface SpecialCaseOpts {

test/integration/geoip-lite.js

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
const geoip = require('geoip-lite');
2+
3+
const ip = "207.97.227.239";
4+
const geo = geoip.lookup(ip);

0 commit comments

Comments
 (0)