diff --git a/package-lock.json b/package-lock.json index f69a83c..248de6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "chiitiler", - "version": "1.10.5", + "version": "1.11.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "chiitiler", - "version": "1.10.5", + "version": "1.11.1", "license": "MIT", "dependencies": { "@aws-sdk/client-s3": "^3.418.0", @@ -18,8 +18,8 @@ "better-sqlite3": "^9.6.0", "commander": "^11.0.0", "file-system-cache": "^2.4.4", - "generic-pool": "^3.9.0", "hono": "^4.3.0", + "lightning-pool": "^4.2.2", "memory-cache-node": "^1.4.0", "pmtiles": "^3.0.5", "sharp": "^0.32.5" @@ -3172,6 +3172,14 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/doublylinked": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/doublylinked/-/doublylinked-2.5.4.tgz", + "integrity": "sha512-jBCKDnFkEHJRjQvYEl5N9VngRV8ypHgw6a52OK4VN57eV2r2rYvgOx9uABdY78INNoW7S6auULp+KBVm/jfYqw==", + "engines": { + "node": ">= 10.0" + } + }, "node_modules/earcut": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", @@ -3637,6 +3645,7 @@ "version": "3.9.0", "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==", + "dev": true, "engines": { "node": ">= 4" } @@ -4385,6 +4394,15 @@ "node": ">=0.10.0" } }, + "node_modules/lightning-pool": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/lightning-pool/-/lightning-pool-4.2.2.tgz", + "integrity": "sha512-KW0Df0IbjNLxy5wAsdErTKYtHGwefLRQseHNksEctyaL7gtRwJT0nqLa2uiRdNYDwKSnZtqOjSjUNtfxmfH1qw==", + "dependencies": { + "doublylinked": "^2.5.3", + "putil-promisify": "^1.10.1" + } + }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -5190,6 +5208,14 @@ "once": "^1.3.1" } }, + "node_modules/putil-promisify": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/putil-promisify/-/putil-promisify-1.10.1.tgz", + "integrity": "sha512-1jm0egJNrj5eBDRj15Cg08RNHDV91OVEHeeYjAFRcs663PXxFokndxcJAGbaO6CSErCTp8eTgC8vuOF+fvXIAA==", + "engines": { + "node": ">= 14.0" + } + }, "node_modules/queue": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", diff --git a/package.json b/package.json index fa341d6..3cd2830 100644 --- a/package.json +++ b/package.json @@ -44,10 +44,10 @@ "better-sqlite3": "^9.6.0", "commander": "^11.0.0", "file-system-cache": "^2.4.4", - "generic-pool": "^3.9.0", "hono": "^4.3.0", + "lightning-pool": "^4.2.2", "memory-cache-node": "^1.4.0", "pmtiles": "^3.0.5", "sharp": "^0.32.5" } -} \ No newline at end of file +} diff --git a/src/render/pool.ts b/src/render/pool.ts index 3cd2090..f9f4394 100644 --- a/src/render/pool.ts +++ b/src/render/pool.ts @@ -1,7 +1,7 @@ import * as path from 'path'; import mbgl from '@maplibre/maplibre-gl-native'; -import genericPool from 'generic-pool'; +import { Pool } from 'lightning-pool'; import type { StyleSpecification } from '@maplibre/maplibre-gl-style-spec'; import { getSource } from '../source/index.js'; @@ -34,7 +34,7 @@ function handleFileExt(uri: string) { } // key:value = styleJsonString:Pooled Map Instance -const mapPoolDict: Record> = {}; +const mapPoolDict: Record> = {}; async function getRenderPool( style: StyleSpecification, cache: Cache, @@ -42,7 +42,7 @@ async function getRenderPool( ) { const dictKey = JSON.stringify(style); if (mapPoolDict[dictKey] === undefined) { - const pool = genericPool.createPool({ + const pool = new Pool({ create: async () => { const map = new mbgl.Map({ request: function (req, callback) {