This is how the Chart.js code begins:
(function (global, factory) {
typeof exports === 'object' && typeof module !==
'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ?
define(factory) :
(global.Chart = factory());
}(this, (function () { 'use strict';
... now comes all the code ...
I have no idea how to read this, what this means and how to invoke a construct like this.