chore(lib): migrate from Node 14 to 20 #152
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR migrates Node version used to build the library from 14 to 20.
Note: it reverts the trick used temporary in #151 which was to pre-build the library with Node v14 in order for the GitHub workflow to work. Otherwise, it was trying to build the library (
cd src/iotMapManager && npm i && npm run build
) with the main Node version which is 20, and it failed.Package comparison
Node v20 compilation
webpack 5.90.1 compiled with 3 warnings in 3178 ms npm notice npm notice 馃摝 iotmapmanager@2.6.8 npm notice === Tarball Contents === npm notice 1.1kB LICENSE npm notice 1.9kB NOTICE.txt npm notice 1.4kB css/map.css npm notice 3.5kB css/markers.css npm notice 3.7kB css/popup.css npm notice 1.4kB css/shadows.css npm notice 3.8kB css/tabs.css npm notice 1.7MB dist/index.js npm notice 153B dist/index.js.LICENSE.txt npm notice 8.7kB img/CLU_Shadow.png npm notice 27.0kB img/Layers.png npm notice 3.8kB img/MOB_CIR_PIN_Shadow.png npm notice 4.3kB img/MOB_CIR_SEL_Shadow.png npm notice 3.1kB img/MOB_CIR_Shadow.png npm notice 3.7kB img/POI_SQR_PIN_Shadow.png npm notice 4.2kB img/POI_SQR_SEL_Shadow.png npm notice 3.0kB img/POI_SQR_Shadow.png npm notice 4.3kB img/USR_Shadow.png npm notice 656B iot-map-manager.css npm notice 383B lib/index.d.ts npm notice 1.2kB lib/src/iot-map-area-manager.d.ts npm notice 636B lib/src/iot-map-area.d.ts npm notice 2.2kB lib/src/iot-map-cluster-manager.d.ts npm notice 1.5kB lib/src/iot-map-cluster.d.ts npm notice 1.1kB lib/src/iot-map-common-svg.d.ts npm notice 673B lib/src/iot-map-config.d.ts npm notice 2.4kB lib/src/iot-map-icons.d.ts npm notice 3.6kB lib/src/iot-map-manager.d.ts npm notice 2.3kB lib/src/iot-map-marker-manager.d.ts npm notice 804B lib/src/iot-map-marker.d.ts npm notice 1.2kB lib/src/iot-map-path-manager.d.ts npm notice 1.6kB lib/src/iot-map-path.d.ts npm notice 7.9kB lib/src/iot-map-types.d.ts npm notice 1.1kB lib/src/iot-map-user-marker-manager.d.ts npm notice 800B lib/src/iot-map-user-marker.d.ts npm notice 1.5kB package.json npm notice 13.0kB readme.md npm notice === Tarball Details === npm notice name: iotmapmanager npm notice version: 2.6.8 npm notice filename: iotmapmanager-2.6.8.tgz npm notice package size: 611.9 kB npm notice unpacked size: 1.8 MB npm notice shasum: 6faa0537d3f172996f30c3ab6808520c039d298f npm notice integrity: sha512-dzJdLZsDQPHYi[...]CChGFmyf3K8pA== npm notice total files: 37 npm notice iotmapmanager-2.6.8.tgz
Node v14 compilation
webpack 5.28.0 compiled with 3 warnings in 3855 ms npm notice npm notice 馃摝 iotmapmanager@2.6.8 npm notice === Tarball Contents === npm notice 1.1kB LICENSE npm notice 656B iot-map-manager.css npm notice 1.4kB css/map.css npm notice 3.5kB css/markers.css npm notice 3.7kB css/popup.css npm notice 1.4kB css/shadows.css npm notice 3.8kB css/tabs.css npm notice 1.6MB dist/index.js npm notice 1.5kB package.json npm notice 13.0kB readme.md npm notice 8.7kB img/CLU_Shadow.png npm notice 27.0kB img/Layers.png npm notice 3.8kB img/MOB_CIR_PIN_Shadow.png npm notice 4.3kB img/MOB_CIR_SEL_Shadow.png npm notice 3.1kB img/MOB_CIR_Shadow.png npm notice 3.7kB img/POI_SQR_PIN_Shadow.png npm notice 4.2kB img/POI_SQR_SEL_Shadow.png npm notice 3.0kB img/POI_SQR_Shadow.png npm notice 4.3kB img/USR_Shadow.png npm notice 383B lib/index.d.ts npm notice 1.2kB lib/src/iot-map-area-manager.d.ts npm notice 636B lib/src/iot-map-area.d.ts npm notice 2.2kB lib/src/iot-map-cluster-manager.d.ts npm notice 1.5kB lib/src/iot-map-cluster.d.ts npm notice 1.1kB lib/src/iot-map-common-svg.d.ts npm notice 673B lib/src/iot-map-config.d.ts npm notice 2.4kB lib/src/iot-map-icons.d.ts npm notice 3.6kB lib/src/iot-map-manager.d.ts npm notice 2.3kB lib/src/iot-map-marker-manager.d.ts npm notice 804B lib/src/iot-map-marker.d.ts npm notice 1.2kB lib/src/iot-map-path-manager.d.ts npm notice 1.6kB lib/src/iot-map-path.d.ts npm notice 7.9kB lib/src/iot-map-types.d.ts npm notice 1.1kB lib/src/iot-map-user-marker-manager.d.ts npm notice 800B lib/src/iot-map-user-marker.d.ts npm notice 152B dist/index.js.LICENSE.txt npm notice 1.9kB NOTICE.txt npm notice === Tarball Details === npm notice name: iotmapmanager npm notice version: 2.6.8 npm notice filename: iotmapmanager-2.6.8.tgz npm notice package size: 581.5 kB npm notice unpacked size: 1.7 MB npm notice shasum: ec998e086664cdbc8b2747c9ddc28e75d8a31f1b npm notice integrity: sha512-+w94cx9YWUC1i[...]SM0MyvCnQeRbg== npm notice total files: 37 npm notice iotmapmanager-2.6.8.tgz
File by file we can observe that:
dist/index.js
: 1.6MB -> 1.7MBdist/index.js.LICENSE.txt
: 152B -> 153BWhat's weird is that the package size was 581.5kB and is now 611.9kB, and that unpacked size was 1.7MB and is now 1.8MB. But maybe it's related to a different tool used by wepback to package everything.