CesiumGS / cesium

An open-source JavaScript library for world-class 3D globes and maps :earth_americas:
https://cesium.com/cesiumjs/
Apache License 2.0
13.01k stars 3.51k forks source link

Replace third party libraries with npm modules #9473

Closed ebogo1 closed 1 year ago

ebogo1 commented 3 years ago

This 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).

mramato commented 3 years ago

cesiumWorkerBootstrapper.js also has an entire copy of RequireJS in it because we needed to be able to load modules in a worked. We'll have to investigate if there is an alternative solution or (worst case) generate this file as part of the build step.

lilleyse commented 3 years ago

@ebogo1 https://www.npmjs.com/package/ktx-parse should be added after https://github.com/CesiumGS/cesium/pull/9513 is merged

lilleyse commented 3 years ago

Just checking, does this task list account for third party libraries in cesium/ThirdParty and cesium/Sandcastle/ThirdParty?

ebogo1 commented 3 years ago

By Cesium/ThirdParty/ do you mean codemirror-5.52.0, dojo-release-1.10.4, jasmine-2.20, and jslint-2.11.0? As for the ones in Sandcastle, I'm not sure what the plan is for those; I had a comment about it in the original post of #9688.

lilleyse commented 3 years ago

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

ggetz commented 1 year ago

Closing, as the original scope of this issue has been covered. Knockout.js, workers, and Sandcastle dependencies will be a separate effort.