Replace third party libraries with npm modules
See original GitHub issueThis issue will serve as a task list for replacing third party modules with npm modules. Here is the task list (incomplete for now; I’ll be updating this as we go).
- Create staging branch for npm changes - https://github.com/CesiumGS/cesium/tree/npm-third-party-staging
- Merge first pass PR into staging (https://github.com/CesiumGS/cesium/pull/9466/)
- Move to npm; or other - see https://github.com/CesiumGS/engineering/issues/69#issue-834201104)
-
sprintf
(https://github.com/CesiumGS/cesium/pull/9476) - bitmap-sdf.js (https://github.com/CesiumGS/cesium/pull/9688)
- ~google-earth-dbroot-parser.js~ leaving in ThirdParty, at least for now
- graphmesplitter.js (https://github.com/CesiumGS/cesium/pull/9688)
- jsep.js (https://github.com/CesiumGS/cesium/pull/9688)
- ~knockout-3.5.1.js, knockout-es5.js, knockout.js~ (need longer term plan to get rid of knockout)
- LercDecode.js (https://github.com/CesiumGS/cesium/pull/9688)
- measureText.js (https://github.com/CesiumGS/cesium/pull/9765)
- mersenne-twister.js (https://github.com/CesiumGS/cesium/pull/9688)
- NoSleep.js (https://github.com/CesiumGS/cesium/pull/9688)
- pako_inflate.js (https://github.com/CesiumGS/cesium/pull/9688)
- protobuf-minimal.js (https://github.com/CesiumGS/cesium/pull/9747)
- purify.js (https://github.com/CesiumGS/cesium/pull/9688)
- Uri.js (https://github.com/CesiumGS/cesium/pull/9740)
- zip.js (https://github.com/CesiumGS/cesium/pull/9696)
-
- Other files in Source/ThirdParty:
- GltfPipeline (https://github.com/CesiumGS/cesium/pull/9699)
- Follow-up to update instructions in https://github.com/CesiumGS/gltf-pipeline README.md
- Basis: Workers/basis_transcoder.js & basis_transcoder.wasm
- Draco: Workers/draco_decoder.js, Workers/draco_wasm_wrapper.js, & draco_decoder.wasm (https://github.com/CesiumGS/cesium/pull/9778)
- FXAA3_11 in Source/ThirdParty/ Shaders/ (https://github.com/CesiumGS/cesium/pull/9704)
- Source/ThirdParty/Workers/inflate + deflate.js (https://github.com/CesiumGS/cesium/pull/9696)
- GltfPipeline (https://github.com/CesiumGS/cesium/pull/9699)
- compare built CesiumJS sizes: .zip went from 63.6 MB to 64.0 MB, .tgz went from 21.4 MB to 21.9 MB as of 038f732 in
npm-third-party-staging
- rename ThirdPartyNpm to ThirdParty (https://github.com/CesiumGS/cesium/pull/9705)
- test branch in cesium-analytics (needed a one-line change to update a
when
import), gltf-pipeline, swayze, and obj2gltf - update CHANGES.md (IE11 dropped, started moving third parties to npm)
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (5 by maintainers)
Top Results From Across the Web
Third party modules and libraries - ADM Help Centers
Third party modules and libraries · Open the command prompt and navigate to the script folder. · Type npm install lodash and wait...
Read more >How to install third party packages using npm - Tutorialspoint
We get the third party libraries from cloud stored npm repository. Installation is done using npm install command. Nodemon. We are running our ......
Read more >5 Best Practices to Choosing Third-Party NPM Packages
5 Best Practices to Choosing Third-Party NPM Packages · 1. Check the Package License · 2. Check Contribution Frequency and Downloads · 3....
Read more >How to reference a third party npm module? - Stack Overflow
The following worked for me. First, install the type definitions for moment. typings install moment --save. (Note: NOT --ambient).
Read more >Using npm packages in your projects
Once you have installed a package in node_modules , you can use it in your code. Using unscoped packages in your projects. Node.js...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@ebogo1 https://www.npmjs.com/package/ktx-parse should be added after https://github.com/CesiumGS/cesium/pull/9513 is merged
One more late breaking third party library to account for - meshopt. Added in https://github.com/CesiumGS/cesium/pull/9694.
Source/ThirdParty/meshopt_decode.js
Here’s the npm library that we should try using instead: https://www.npmjs.com/package/meshoptimizer
Edit: see if adding meshopt from npm fixes https://github.com/CesiumGS/cesium/issues/9751