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.z
with 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 thehash
with the relevant value as per version and resource, see below.
Note:
modulepreload
in general andintegrity
attribute 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== |