UNPKG

@cocalc/cdn

Version:

Files that CoCalc uses that would be natural in various contexts to get from a CDN

21 lines (11 loc) 1.58 kB
# Webapp Resource files ## Why? This directory contains additional resources for at least the `/index.html` and `/app` page. Many of these were served directly from CDN's before. However, that introduces a dependency where [CoCalc.com](http://CoCalc.com) can't load unless all these random CDN's also work... and that is unacceptable for two reasons: 1. If any of these CDN's go down, [CoCalc.com](http://CoCalc.com) would get mangled or not load. That's no good. 2. If you use a private install of cocalc on a computer that doesn't have network access, it doesn't work at all ever. That's definitely not good. ## How? Run `npm ci` to install the modules in the node\_modules directory, as usual. The run `npm run build` to update the `dist/` subdirectory with all relevant data ready to be served via various webservers. The `setup.py` script (that `npm run build` uses) makes sure to include a version number in the path, because all files will be served with a long cache time. **IMPORTANT:** we copy all the files from `node_modules` to dist, rather than just making symlinks, because (1) the symlinks don't get published to npm anyways, and (2) the `node_modules` folders would likely get hoisted away when we install elsewhere, thus breaking everything. ## Notes Other files in `packages/assets` might not be used any more. At some point we can clean them up. We have to run a postinstall script to create the versioned symlinks, since -- to be cross platform -- npm itself [doesn't support symlinks](https://npm.community/t/how-can-i-publish-symlink/5599).