The answer to this depends on if / how the library is wrapped.
First of all, Meteor prevents files in a
client folder from being loaded on the server, and vice-versa.
To allow it to be loaded on both, it needs to be outside these directories.
That means you lose the magic behaviour of the
Meteor (and most bundlers) wrap each file in an IIFE (Immediately Invoked Function Expression), protecting the global scope from
var declarations. Meteor doesn’t do this for the
client/compatibility folder, so older libraries that rely on their variables escaping to the global scope can continue to do so.
If the library uses the UMD pattern, or attaches itself to
window, then it doesn’t need to be in
client/compatibility, and moving it should just work.
If not, you will need to edit it slightly to expose the module correctly
Give moving it a shot and if that doesn’t work, come back with a link to the library and I can take a look at how to expose it