CDN provisioning is a general convenience feature, which also provides:
Import object-observer directly from CDN:
import { Observable } from 'https://libs.gullerya.com/object-observer/x.y.z/object-observer.min.js';
Note: regular and minified resouces are available.
Note: replace the
x.y.zwith the desired version, one of the listed in the changelog.
Security feature integrity was introduced specifically to fortify a consumption of a CDN delivered modules.
object-observer adheres to this effort and provides integrity checksums per release (starting from version 4.2.4).
To begin with, detailed description on SRI (Subresource Integrity) found here.
Since object-observer provides ES6 module syntax, the approach described in the documentation above and elsewhere is not applicable.
In this case, and until a better way available (like this proposal of myself), one is required to use <link rel="modulepreload"> in addition to the regular import in order to enforce integrity validation.
Thus, please add the below HTML piece in your HTML, when willing to enforce the module’s integrity:
<link rel="modulepreload" 
  href="https://libs.gullerya.com/object-observer/x.y.z/object-observer.min.js"
  integrity="hash">
Note: version (to be put instead of
x.y.z) and resource kind (regular/minified) should be the same as you use in the application. Accordingly, replace thehashwith the relevant value as per version and resource, see below.
Note:
modulepreloadin general andintegrityattribute with it in particular are still having a limited support.
Checksums provided per version for both, regular and minified resources.
From version 4.6.6 SRI hashes provided via Git and NPM, by sri.json file:
sri.json file in the repo rootobject-observer via npm install..., then find sri.json file in your node_modules/object-observer folderBelow are SRI hashes of the pre-4.6.6 version:
| Version | Resource | Integrity checksum (hash) | 
|---|---|---|
| 4.6.0 | object-observer.js | sha512-2SzwdAYs8e6Kh9qst3WsrQBHoALF0fqeHzFrbMwjjfPYvUJkpn0c0jBFs/rolSAtYCWK22h+Z3Ht6o5Wy80CyA== | 
| 4.6.0 | object-observer.min.js | sha512-nxyrR/lamznRJA5CgXiTGdyyaXbfUaKa9bLYTcqLHlMG8rznT4j7VBewWGTsrjD5xFQxtn7VnlRhT/MF0hO3fA== | 
| 4.5.0 | object-observer.js | sha512-PRxMMuoda0rmLHMFCguy2CSySHoWyCZtFIy+N7gzBHAOB9QYs0VGx8PbaHUhpyo0VwHDY/2L02bDZzmfAq3aIQ== | 
| 4.5.0 | object-observer.min.js | sha512-Xn4niKWPRT5W502IEgfafP4W+agpLcE6Y/arwL2/kP5FQq1rFP5B6WRZiLPlT++qxGXHkKejduWo6L7SAVh0Sg== | 
| 4.4.0 | object-observer.js | sha512-4l0Q/VlM/3dyYEiH6zp4qQ7oFoe6lcyKFDTU+wJ04LwK9o9hzvBYfmHzFlt4kicfGe4U8u+D+AD3onTQuQBoaw== | 
| 4.4.0 | object-observer.min.js | sha512-zlqhnAOtENZ58r5GzmpbvYQMr9JrII7YrxJ9SEWQXNIZUhL/rZDTm3g0uH1895kbPKv/zIK59XcfrmAWtR/QDA== | 
| 4.3.2 | object-observer.js | sha512-KIVmA1D/MQMPfJ2DunNeugVrTsOjt/q9BU2+C2E4PEMT+Om5kRE8nl/at+zBKbO7yUih/T9VmiQw50mROPfI/A== | 
| 4.3.2 | object-observer.min.js | sha512-lpc5mmJKkVVMt5Cus2qHKN+9WppzIEqyBuT1ROmI2w+dC+RRwi0jB9p0El55Yoh2m5cmDOcXbv3YMyWQd22oZA== | 
| 4.3.1 | object-observer.js | sha512-KIVmA1D/MQMPfJ2DunNeugVrTsOjt/q9BU2+C2E4PEMT+Om5kRE8nl/at+zBKbO7yUih/T9VmiQw50mROPfI/A== | 
| 4.3.1 | object-observer.min.js | sha512-lpc5mmJKkVVMt5Cus2qHKN+9WppzIEqyBuT1ROmI2w+dC+RRwi0jB9p0El55Yoh2m5cmDOcXbv3YMyWQd22oZA== | 
| 4.3.0 | object-observer.js | sha512-KIVmA1D/MQMPfJ2DunNeugVrTsOjt/q9BU2+C2E4PEMT+Om5kRE8nl/at+zBKbO7yUih/T9VmiQw50mROPfI/A== | 
| 4.3.0 | object-observer.min.js | sha512-lpc5mmJKkVVMt5Cus2qHKN+9WppzIEqyBuT1ROmI2w+dC+RRwi0jB9p0El55Yoh2m5cmDOcXbv3YMyWQd22oZA== | 
| 4.2.4 | object-observer.js | sha512-hS94aprLMMSBEKeIeXwdsSNjNjsaxaUjdUH029d5fga93buCNxXMcgusb5ELGUhbzi2qkjfQT8s/6m2PnwvCsQ== | 
| 4.2.4 | object-observer.min.js | sha512-o98LgLvzBtc6j+XkCtt0K3JS9FxYwkDdEWduD1yX8gqRtte1Eg5E8iTfoKzLC+fcB2fYrmzrQM3G2mLm8Z1nOQ== |