Skip to content

Commit 0df3011

Browse files
wraithgarlukekarrys
authored andcommittedMay 19, 2022
deps: ssri@9.0.1
* store emitted events and re-emit them for late listeners
1 parent f3b0a24 commit 0df3011

File tree

4 files changed

+37
-12
lines changed

4 files changed

+37
-12
lines changed
 

‎node_modules/ssri/lib/index.js

+26-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ const getOptString = options => !options || !options.length
3030

3131
const _onEnd = Symbol('_onEnd')
3232
const _getOptions = Symbol('_getOptions')
33+
const _emittedSize = Symbol('_emittedSize')
34+
const _emittedIntegrity = Symbol('_emittedIntegrity')
35+
const _emittedVerified = Symbol('_emittedVerified')
36+
3337
class IntegrityStream extends MiniPass {
3438
constructor (opts) {
3539
super()
@@ -63,6 +67,22 @@ class IntegrityStream extends MiniPass {
6367
this.optString = getOptString(options)
6468
}
6569

70+
on (ev, handler) {
71+
if (ev === 'size' && this[_emittedSize]) {
72+
return handler(this[_emittedSize])
73+
}
74+
75+
if (ev === 'integrity' && this[_emittedIntegrity]) {
76+
return handler(this[_emittedIntegrity])
77+
}
78+
79+
if (ev === 'verified' && this[_emittedVerified]) {
80+
return handler(this[_emittedVerified])
81+
}
82+
83+
return super.on(ev, handler)
84+
}
85+
6686
emit (ev, data) {
6787
if (ev === 'end') {
6888
this[_onEnd]()
@@ -103,9 +123,14 @@ class IntegrityStream extends MiniPass {
103123
err.sri = this.sri
104124
this.emit('error', err)
105125
} else {
126+
this[_emittedSize] = this.size
106127
this.emit('size', this.size)
128+
this[_emittedIntegrity] = newSri
107129
this.emit('integrity', newSri)
108-
match && this.emit('verified', match)
130+
if (match) {
131+
this[_emittedVerified] = match
132+
this.emit('verified', match)
133+
}
109134
}
110135
}
111136
}

‎node_modules/ssri/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ssri",
3-
"version": "9.0.0",
3+
"version": "9.0.1",
44
"description": "Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.",
55
"main": "lib/index.js",
66
"files": [
@@ -50,14 +50,14 @@
5050
},
5151
"devDependencies": {
5252
"@npmcli/eslint-config": "^3.0.1",
53-
"@npmcli/template-oss": "3.2.2",
53+
"@npmcli/template-oss": "3.5.0",
5454
"tap": "^16.0.1"
5555
},
5656
"engines": {
5757
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
5858
},
5959
"templateOSS": {
6060
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
61-
"version": "3.2.2"
61+
"version": "3.5.0"
6262
}
6363
}

‎package-lock.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@
148148
"readdir-scoped-modules": "^1.1.0",
149149
"rimraf": "^3.0.2",
150150
"semver": "^7.3.7",
151-
"ssri": "^9.0.0",
151+
"ssri": "^9.0.1",
152152
"tar": "^6.1.11",
153153
"text-table": "~0.2.0",
154154
"tiny-relative-date": "^1.3.0",
@@ -6793,9 +6793,9 @@
67936793
}
67946794
},
67956795
"node_modules/ssri": {
6796-
"version": "9.0.0",
6797-
"resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz",
6798-
"integrity": "sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ==",
6796+
"version": "9.0.1",
6797+
"resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
6798+
"integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
67996799
"inBundle": true,
68006800
"dependencies": {
68016801
"minipass": "^3.1.1"
@@ -14720,9 +14720,9 @@
1472014720
}
1472114721
},
1472214722
"ssri": {
14723-
"version": "9.0.0",
14724-
"resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz",
14725-
"integrity": "sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ==",
14723+
"version": "9.0.1",
14724+
"resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
14725+
"integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
1472614726
"requires": {
1472714727
"minipass": "^3.1.1"
1472814728
}

‎package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
"readdir-scoped-modules": "^1.1.0",
118118
"rimraf": "^3.0.2",
119119
"semver": "^7.3.7",
120-
"ssri": "^9.0.0",
120+
"ssri": "^9.0.1",
121121
"tar": "^6.1.11",
122122
"text-table": "~0.2.0",
123123
"tiny-relative-date": "^1.3.0",

0 commit comments

Comments
 (0)