chore: get rid of rimraf package (#27790)
This seems more reliable nowadays as rimraf. https://github.com/microsoft/playwright/issues/27712 --------- Signed-off-by: Max Schmitt <max@schmitt.mx>
This commit is contained in:
parent
ae1e1885dc
commit
5f366088be
175
package-lock.json
generated
175
package-lock.json
generated
|
|
@ -59,7 +59,6 @@
|
||||||
"proxy": "^1.0.2",
|
"proxy": "^1.0.2",
|
||||||
"react": "^18.1.0",
|
"react": "^18.1.0",
|
||||||
"react-dom": "^18.1.0",
|
"react-dom": "^18.1.0",
|
||||||
"rimraf": "^4.4.1",
|
|
||||||
"socksv5": "0.0.6",
|
"socksv5": "0.0.6",
|
||||||
"ssim.js": "^3.5.0",
|
"ssim.js": "^3.5.0",
|
||||||
"typescript": "^5.2.2",
|
"typescript": "^5.2.2",
|
||||||
|
|
@ -4956,15 +4955,6 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/minipass": {
|
|
||||||
"version": "4.2.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
|
|
||||||
"integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mkdirp": {
|
"node_modules/mkdirp": {
|
||||||
"version": "0.5.5",
|
"version": "0.5.5",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
|
@ -5345,40 +5335,6 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/path-scurry": {
|
|
||||||
"version": "1.10.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
|
|
||||||
"integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^9.1.1 || ^10.0.0",
|
|
||||||
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16 || 14 >=14.17"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/path-scurry/node_modules/lru-cache": {
|
|
||||||
"version": "10.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz",
|
|
||||||
"integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": "14 || >=16.14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/path-scurry/node_modules/minipass": {
|
|
||||||
"version": "7.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz",
|
|
||||||
"integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16 || 14 >=14.17"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/path-type": {
|
"node_modules/path-type": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||||
|
|
@ -5783,66 +5739,6 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rimraf": {
|
|
||||||
"version": "4.4.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz",
|
|
||||||
"integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"glob": "^9.2.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"rimraf": "dist/cjs/src/bin.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=14"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/rimraf/node_modules/brace-expansion": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"balanced-match": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/rimraf/node_modules/glob": {
|
|
||||||
"version": "9.3.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
|
|
||||||
"integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"fs.realpath": "^1.0.0",
|
|
||||||
"minimatch": "^8.0.2",
|
|
||||||
"minipass": "^4.2.4",
|
|
||||||
"path-scurry": "^1.6.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16 || 14 >=14.17"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/rimraf/node_modules/minimatch": {
|
|
||||||
"version": "8.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
|
|
||||||
"integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"brace-expansion": "^2.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16 || 14 >=14.17"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/roarr": {
|
"node_modules/roarr": {
|
||||||
"version": "2.15.4",
|
"version": "2.15.4",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
|
@ -10826,12 +10722,6 @@
|
||||||
"version": "1.2.6",
|
"version": "1.2.6",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"minipass": {
|
|
||||||
"version": "4.2.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
|
|
||||||
"integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"mkdirp": {
|
"mkdirp": {
|
||||||
"version": "0.5.5",
|
"version": "0.5.5",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
|
@ -11079,30 +10969,6 @@
|
||||||
"version": "1.0.7",
|
"version": "1.0.7",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"path-scurry": {
|
|
||||||
"version": "1.10.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
|
|
||||||
"integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"lru-cache": "^9.1.1 || ^10.0.0",
|
|
||||||
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": {
|
|
||||||
"version": "10.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz",
|
|
||||||
"integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"minipass": {
|
|
||||||
"version": "7.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz",
|
|
||||||
"integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path-type": {
|
"path-type": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||||
|
|
@ -11381,47 +11247,6 @@
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"rimraf": {
|
|
||||||
"version": "4.4.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz",
|
|
||||||
"integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"glob": "^9.2.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"brace-expansion": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"balanced-match": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"glob": {
|
|
||||||
"version": "9.3.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
|
|
||||||
"integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"fs.realpath": "^1.0.0",
|
|
||||||
"minimatch": "^8.0.2",
|
|
||||||
"minipass": "^4.2.4",
|
|
||||||
"path-scurry": "^1.6.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"minimatch": {
|
|
||||||
"version": "8.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
|
|
||||||
"integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"brace-expansion": "^2.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"roarr": {
|
"roarr": {
|
||||||
"version": "2.15.4",
|
"version": "2.15.4",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,6 @@
|
||||||
"proxy": "^1.0.2",
|
"proxy": "^1.0.2",
|
||||||
"react": "^18.1.0",
|
"react": "^18.1.0",
|
||||||
"react-dom": "^18.1.0",
|
"react-dom": "^18.1.0",
|
||||||
"rimraf": "^4.4.1",
|
|
||||||
"socksv5": "0.0.6",
|
"socksv5": "0.0.6",
|
||||||
"ssim.js": "^3.5.0",
|
"ssim.js": "^3.5.0",
|
||||||
"typescript": "^5.2.2",
|
"typescript": "^5.2.2",
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ This project incorporates components from the projects listed below. The origina
|
||||||
- agent-base@6.0.2 (https://github.com/TooTallNate/node-agent-base)
|
- agent-base@6.0.2 (https://github.com/TooTallNate/node-agent-base)
|
||||||
- balanced-match@1.0.2 (https://github.com/juliangruber/balanced-match)
|
- balanced-match@1.0.2 (https://github.com/juliangruber/balanced-match)
|
||||||
- brace-expansion@1.1.11 (https://github.com/juliangruber/brace-expansion)
|
- brace-expansion@1.1.11 (https://github.com/juliangruber/brace-expansion)
|
||||||
- brace-expansion@2.0.1 (https://github.com/juliangruber/brace-expansion)
|
|
||||||
- buffer-crc32@0.2.13 (https://github.com/brianloveswords/buffer-crc32)
|
- buffer-crc32@0.2.13 (https://github.com/brianloveswords/buffer-crc32)
|
||||||
- codemirror@5.65.9 (https://github.com/codemirror/CodeMirror)
|
- codemirror@5.65.9 (https://github.com/codemirror/CodeMirror)
|
||||||
- colors@1.4.0 (https://github.com/Marak/colors.js)
|
- colors@1.4.0 (https://github.com/Marak/colors.js)
|
||||||
|
|
@ -21,32 +20,24 @@ This project incorporates components from the projects listed below. The origina
|
||||||
- escape-string-regexp@2.0.0 (https://github.com/sindresorhus/escape-string-regexp)
|
- escape-string-regexp@2.0.0 (https://github.com/sindresorhus/escape-string-regexp)
|
||||||
- extract-zip@2.0.1 (https://github.com/maxogden/extract-zip)
|
- extract-zip@2.0.1 (https://github.com/maxogden/extract-zip)
|
||||||
- fd-slicer@1.1.0 (https://github.com/andrewrk/node-fd-slicer)
|
- fd-slicer@1.1.0 (https://github.com/andrewrk/node-fd-slicer)
|
||||||
- fs.realpath@1.0.0 (https://github.com/isaacs/fs.realpath)
|
|
||||||
- get-stream@5.2.0 (https://github.com/sindresorhus/get-stream)
|
- get-stream@5.2.0 (https://github.com/sindresorhus/get-stream)
|
||||||
- glob@9.3.5 (https://github.com/isaacs/node-glob)
|
|
||||||
- graceful-fs@4.2.10 (https://github.com/isaacs/node-graceful-fs)
|
- graceful-fs@4.2.10 (https://github.com/isaacs/node-graceful-fs)
|
||||||
- https-proxy-agent@5.0.0 (https://github.com/TooTallNate/node-https-proxy-agent)
|
- https-proxy-agent@5.0.0 (https://github.com/TooTallNate/node-https-proxy-agent)
|
||||||
- ip@2.0.0 (https://github.com/indutny/node-ip)
|
- ip@2.0.0 (https://github.com/indutny/node-ip)
|
||||||
- is-docker@2.2.1 (https://github.com/sindresorhus/is-docker)
|
- is-docker@2.2.1 (https://github.com/sindresorhus/is-docker)
|
||||||
- is-wsl@2.2.0 (https://github.com/sindresorhus/is-wsl)
|
- is-wsl@2.2.0 (https://github.com/sindresorhus/is-wsl)
|
||||||
- jpeg-js@0.4.4 (https://github.com/eugeneware/jpeg-js)
|
- jpeg-js@0.4.4 (https://github.com/eugeneware/jpeg-js)
|
||||||
- lru-cache@10.0.0 (https://github.com/isaacs/node-lru-cache)
|
|
||||||
- mime@3.0.0 (https://github.com/broofa/mime)
|
- mime@3.0.0 (https://github.com/broofa/mime)
|
||||||
- minimatch@3.1.2 (https://github.com/isaacs/minimatch)
|
- minimatch@3.1.2 (https://github.com/isaacs/minimatch)
|
||||||
- minimatch@8.0.4 (https://github.com/isaacs/minimatch)
|
|
||||||
- minipass@4.2.8 (https://github.com/isaacs/minipass)
|
|
||||||
- minipass@7.0.2 (https://github.com/isaacs/minipass)
|
|
||||||
- ms@2.1.2 (https://github.com/zeit/ms)
|
- ms@2.1.2 (https://github.com/zeit/ms)
|
||||||
- once@1.4.0 (https://github.com/isaacs/once)
|
- once@1.4.0 (https://github.com/isaacs/once)
|
||||||
- open@8.4.0 (https://github.com/sindresorhus/open)
|
- open@8.4.0 (https://github.com/sindresorhus/open)
|
||||||
- path-scurry@1.10.1 (https://github.com/isaacs/path-scurry)
|
|
||||||
- pend@1.2.0 (https://github.com/andrewrk/node-pend)
|
- pend@1.2.0 (https://github.com/andrewrk/node-pend)
|
||||||
- pngjs@6.0.0 (https://github.com/lukeapage/pngjs)
|
- pngjs@6.0.0 (https://github.com/lukeapage/pngjs)
|
||||||
- progress@2.0.3 (https://github.com/visionmedia/node-progress)
|
- progress@2.0.3 (https://github.com/visionmedia/node-progress)
|
||||||
- proxy-from-env@1.1.0 (https://github.com/Rob--W/proxy-from-env)
|
- proxy-from-env@1.1.0 (https://github.com/Rob--W/proxy-from-env)
|
||||||
- pump@3.0.0 (https://github.com/mafintosh/pump)
|
- pump@3.0.0 (https://github.com/mafintosh/pump)
|
||||||
- retry@0.12.0 (https://github.com/tim-kos/node-retry)
|
- retry@0.12.0 (https://github.com/tim-kos/node-retry)
|
||||||
- rimraf@4.4.1 (https://github.com/isaacs/rimraf)
|
|
||||||
- signal-exit@3.0.7 (https://github.com/tapjs/signal-exit)
|
- signal-exit@3.0.7 (https://github.com/tapjs/signal-exit)
|
||||||
- smart-buffer@4.2.0 (https://github.com/JoshGlazebrook/smart-buffer)
|
- smart-buffer@4.2.0 (https://github.com/JoshGlazebrook/smart-buffer)
|
||||||
- socks-proxy-agent@6.1.1 (https://github.com/TooTallNate/node-socks-proxy-agent)
|
- socks-proxy-agent@6.1.1 (https://github.com/TooTallNate/node-socks-proxy-agent)
|
||||||
|
|
@ -311,32 +302,6 @@ SOFTWARE.
|
||||||
=========================================
|
=========================================
|
||||||
END OF brace-expansion@1.1.11 AND INFORMATION
|
END OF brace-expansion@1.1.11 AND INFORMATION
|
||||||
|
|
||||||
%% brace-expansion@2.0.1 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
=========================================
|
|
||||||
END OF brace-expansion@2.0.1 AND INFORMATION
|
|
||||||
|
|
||||||
%% buffer-crc32@0.2.13 NOTICES AND INFORMATION BEGIN HERE
|
%% buffer-crc32@0.2.13 NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
The MIT License
|
The MIT License
|
||||||
|
|
@ -599,54 +564,6 @@ SOFTWARE.
|
||||||
=========================================
|
=========================================
|
||||||
END OF fd-slicer@1.1.0 AND INFORMATION
|
END OF fd-slicer@1.1.0 AND INFORMATION
|
||||||
|
|
||||||
%% fs.realpath@1.0.0 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
This library bundles a version of the `fs.realpath` and `fs.realpathSync`
|
|
||||||
methods from Node.js v0.10 under the terms of the Node.js MIT license.
|
|
||||||
|
|
||||||
Node's license follows, also included at the header of `old.js` which contains
|
|
||||||
the licensed code:
|
|
||||||
|
|
||||||
Copyright Joyent, Inc. and other Node contributors.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
copy of this software and associated documentation files (the "Software"),
|
|
||||||
to deal in the Software without restriction, including without limitation
|
|
||||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
Software is furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
||||||
DEALINGS IN THE SOFTWARE.
|
|
||||||
=========================================
|
|
||||||
END OF fs.realpath@1.0.0 AND INFORMATION
|
|
||||||
|
|
||||||
%% get-stream@5.2.0 NOTICES AND INFORMATION BEGIN HERE
|
%% get-stream@5.2.0 NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
MIT License
|
MIT License
|
||||||
|
|
@ -661,26 +578,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||||
=========================================
|
=========================================
|
||||||
END OF get-stream@5.2.0 AND INFORMATION
|
END OF get-stream@5.2.0 AND INFORMATION
|
||||||
|
|
||||||
%% glob@9.3.5 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) 2009-2023 Isaac Z. Schlueter and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
=========================================
|
|
||||||
END OF glob@9.3.5 AND INFORMATION
|
|
||||||
|
|
||||||
%% graceful-fs@4.2.10 NOTICES AND INFORMATION BEGIN HERE
|
%% graceful-fs@4.2.10 NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
The ISC License
|
The ISC License
|
||||||
|
|
@ -996,26 +893,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
=========================================
|
=========================================
|
||||||
END OF jpeg-js@0.4.4 AND INFORMATION
|
END OF jpeg-js@0.4.4 AND INFORMATION
|
||||||
|
|
||||||
%% lru-cache@10.0.0 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) 2010-2023 Isaac Z. Schlueter and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
=========================================
|
|
||||||
END OF lru-cache@10.0.0 AND INFORMATION
|
|
||||||
|
|
||||||
%% mime@3.0.0 NOTICES AND INFORMATION BEGIN HERE
|
%% mime@3.0.0 NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
@ -1062,66 +939,6 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
=========================================
|
=========================================
|
||||||
END OF minimatch@3.1.2 AND INFORMATION
|
END OF minimatch@3.1.2 AND INFORMATION
|
||||||
|
|
||||||
%% minimatch@8.0.4 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
=========================================
|
|
||||||
END OF minimatch@8.0.4 AND INFORMATION
|
|
||||||
|
|
||||||
%% minipass@4.2.8 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) 2017-2023 npm, Inc., Isaac Z. Schlueter, and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
=========================================
|
|
||||||
END OF minipass@4.2.8 AND INFORMATION
|
|
||||||
|
|
||||||
%% minipass@7.0.2 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) 2017-2023 npm, Inc., Isaac Z. Schlueter, and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
=========================================
|
|
||||||
END OF minipass@7.0.2 AND INFORMATION
|
|
||||||
|
|
||||||
%% ms@2.1.2 NOTICES AND INFORMATION BEGIN HERE
|
%% ms@2.1.2 NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
@ -1182,66 +999,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||||
=========================================
|
=========================================
|
||||||
END OF open@8.4.0 AND INFORMATION
|
END OF open@8.4.0 AND INFORMATION
|
||||||
|
|
||||||
%% path-scurry@1.10.1 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
# Blue Oak Model License
|
|
||||||
|
|
||||||
Version 1.0.0
|
|
||||||
|
|
||||||
## Purpose
|
|
||||||
|
|
||||||
This license gives everyone as much permission to work with
|
|
||||||
this software as possible, while protecting contributors
|
|
||||||
from liability.
|
|
||||||
|
|
||||||
## Acceptance
|
|
||||||
|
|
||||||
In order to receive this license, you must agree to its
|
|
||||||
rules. The rules of this license are both obligations
|
|
||||||
under that agreement and conditions to your license.
|
|
||||||
You must not do anything with this software that triggers
|
|
||||||
a rule that you cannot or will not follow.
|
|
||||||
|
|
||||||
## Copyright
|
|
||||||
|
|
||||||
Each contributor licenses you to do everything with this
|
|
||||||
software that would otherwise infringe that contributor's
|
|
||||||
copyright in it.
|
|
||||||
|
|
||||||
## Notices
|
|
||||||
|
|
||||||
You must ensure that everyone who gets a copy of
|
|
||||||
any part of this software from you, with or without
|
|
||||||
changes, also gets the text of this license or a link to
|
|
||||||
<https://blueoakcouncil.org/license/1.0.0>.
|
|
||||||
|
|
||||||
## Excuse
|
|
||||||
|
|
||||||
If anyone notifies you in writing that you have not
|
|
||||||
complied with [Notices](#notices), you can keep your
|
|
||||||
license by taking all practical steps to comply within 30
|
|
||||||
days after the notice. If you do not do so, your license
|
|
||||||
ends immediately.
|
|
||||||
|
|
||||||
## Patent
|
|
||||||
|
|
||||||
Each contributor licenses you to do everything with this
|
|
||||||
software that would otherwise infringe any patent claims
|
|
||||||
they can license or become able to license.
|
|
||||||
|
|
||||||
## Reliability
|
|
||||||
|
|
||||||
No contributor can revoke this license.
|
|
||||||
|
|
||||||
## No Liability
|
|
||||||
|
|
||||||
***As far as the law allows, this software comes as is,
|
|
||||||
without any warranty or condition, and no contributor
|
|
||||||
will be liable to anyone for any damages related to this
|
|
||||||
software or this license, under any kind of legal claim.***
|
|
||||||
=========================================
|
|
||||||
END OF path-scurry@1.10.1 AND INFORMATION
|
|
||||||
|
|
||||||
%% pend@1.2.0 NOTICES AND INFORMATION BEGIN HERE
|
%% pend@1.2.0 NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
The MIT License (Expat)
|
The MIT License (Expat)
|
||||||
|
|
@ -1399,26 +1156,6 @@ Felix Geisendörfer (felix@debuggable.com)
|
||||||
=========================================
|
=========================================
|
||||||
END OF retry@0.12.0 AND INFORMATION
|
END OF retry@0.12.0 AND INFORMATION
|
||||||
|
|
||||||
%% rimraf@4.4.1 NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
=========================================
|
|
||||||
END OF rimraf@4.4.1 AND INFORMATION
|
|
||||||
|
|
||||||
%% signal-exit@3.0.7 NOTICES AND INFORMATION BEGIN HERE
|
%% signal-exit@3.0.7 NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
The ISC License
|
The ISC License
|
||||||
|
|
@ -1771,6 +1508,6 @@ END OF yazl@2.5.1 AND INFORMATION
|
||||||
|
|
||||||
SUMMARY BEGIN HERE
|
SUMMARY BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
Total Packages: 52
|
Total Packages: 43
|
||||||
=========================================
|
=========================================
|
||||||
END OF SUMMARY
|
END OF SUMMARY
|
||||||
169
packages/playwright-core/bundles/utils/package-lock.json
generated
169
packages/playwright-core/bundles/utils/package-lock.json
generated
|
|
@ -21,7 +21,6 @@
|
||||||
"progress": "2.0.3",
|
"progress": "2.0.3",
|
||||||
"proxy-from-env": "1.1.0",
|
"proxy-from-env": "1.1.0",
|
||||||
"retry": "0.12.0",
|
"retry": "0.12.0",
|
||||||
"rimraf": "^4.4.1",
|
|
||||||
"signal-exit": "3.0.7",
|
"signal-exit": "3.0.7",
|
||||||
"socks-proxy-agent": "6.1.1",
|
"socks-proxy-agent": "6.1.1",
|
||||||
"stack-utils": "2.0.5",
|
"stack-utils": "2.0.5",
|
||||||
|
|
@ -207,50 +206,6 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/fs.realpath": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
|
||||||
},
|
|
||||||
"node_modules/glob": {
|
|
||||||
"version": "9.3.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
|
|
||||||
"integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
|
|
||||||
"dependencies": {
|
|
||||||
"fs.realpath": "^1.0.0",
|
|
||||||
"minimatch": "^8.0.2",
|
|
||||||
"minipass": "^4.2.4",
|
|
||||||
"path-scurry": "^1.6.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16 || 14 >=14.17"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/glob/node_modules/brace-expansion": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
|
||||||
"dependencies": {
|
|
||||||
"balanced-match": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/glob/node_modules/minimatch": {
|
|
||||||
"version": "8.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
|
|
||||||
"integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
|
|
||||||
"dependencies": {
|
|
||||||
"brace-expansion": "^2.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16 || 14 >=14.17"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/graceful-fs": {
|
"node_modules/graceful-fs": {
|
||||||
"version": "4.2.10",
|
"version": "4.2.10",
|
||||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
||||||
|
|
@ -303,14 +258,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz",
|
||||||
"integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="
|
"integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="
|
||||||
},
|
},
|
||||||
"node_modules/lru-cache": {
|
|
||||||
"version": "10.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz",
|
|
||||||
"integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==",
|
|
||||||
"engines": {
|
|
||||||
"node": "14 || >=16.14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mime": {
|
"node_modules/mime": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
|
||||||
|
|
@ -333,14 +280,6 @@
|
||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/minipass": {
|
|
||||||
"version": "4.2.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
|
|
||||||
"integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/ms": {
|
"node_modules/ms": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
|
|
@ -362,29 +301,6 @@
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/path-scurry": {
|
|
||||||
"version": "1.10.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
|
|
||||||
"integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^9.1.1 || ^10.0.0",
|
|
||||||
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16 || 14 >=14.17"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/path-scurry/node_modules/minipass": {
|
|
||||||
"version": "7.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz",
|
|
||||||
"integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16 || 14 >=14.17"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/pngjs": {
|
"node_modules/pngjs": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
|
||||||
|
|
@ -414,23 +330,6 @@
|
||||||
"node": ">= 4"
|
"node": ">= 4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rimraf": {
|
|
||||||
"version": "4.4.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz",
|
|
||||||
"integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==",
|
|
||||||
"dependencies": {
|
|
||||||
"glob": "^9.2.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"rimraf": "dist/cjs/src/bin.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=14"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/signal-exit": {
|
"node_modules/signal-exit": {
|
||||||
"version": "3.0.7",
|
"version": "3.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
||||||
|
|
@ -649,40 +548,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
||||||
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="
|
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="
|
||||||
},
|
},
|
||||||
"fs.realpath": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
|
||||||
},
|
|
||||||
"glob": {
|
|
||||||
"version": "9.3.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
|
|
||||||
"integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
|
|
||||||
"requires": {
|
|
||||||
"fs.realpath": "^1.0.0",
|
|
||||||
"minimatch": "^8.0.2",
|
|
||||||
"minipass": "^4.2.4",
|
|
||||||
"path-scurry": "^1.6.1"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"brace-expansion": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
|
||||||
"requires": {
|
|
||||||
"balanced-match": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"minimatch": {
|
|
||||||
"version": "8.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
|
|
||||||
"integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
|
|
||||||
"requires": {
|
|
||||||
"brace-expansion": "^2.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"graceful-fs": {
|
"graceful-fs": {
|
||||||
"version": "4.2.10",
|
"version": "4.2.10",
|
||||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
||||||
|
|
@ -720,11 +585,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz",
|
||||||
"integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="
|
"integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="
|
||||||
},
|
},
|
||||||
"lru-cache": {
|
|
||||||
"version": "10.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz",
|
|
||||||
"integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw=="
|
|
||||||
},
|
|
||||||
"mime": {
|
"mime": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
|
||||||
|
|
@ -738,11 +598,6 @@
|
||||||
"brace-expansion": "^1.1.7"
|
"brace-expansion": "^1.1.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minipass": {
|
|
||||||
"version": "4.2.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
|
|
||||||
"integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ=="
|
|
||||||
},
|
|
||||||
"ms": {
|
"ms": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
|
|
@ -758,22 +613,6 @@
|
||||||
"is-wsl": "^2.2.0"
|
"is-wsl": "^2.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"path-scurry": {
|
|
||||||
"version": "1.10.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
|
|
||||||
"integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
|
|
||||||
"requires": {
|
|
||||||
"lru-cache": "^9.1.1 || ^10.0.0",
|
|
||||||
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"minipass": {
|
|
||||||
"version": "7.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz",
|
|
||||||
"integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA=="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pngjs": {
|
"pngjs": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
|
||||||
|
|
@ -794,14 +633,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
|
||||||
"integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="
|
"integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="
|
||||||
},
|
},
|
||||||
"rimraf": {
|
|
||||||
"version": "4.4.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz",
|
|
||||||
"integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==",
|
|
||||||
"requires": {
|
|
||||||
"glob": "^9.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"signal-exit": {
|
"signal-exit": {
|
||||||
"version": "3.0.7",
|
"version": "3.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@
|
||||||
"progress": "2.0.3",
|
"progress": "2.0.3",
|
||||||
"proxy-from-env": "1.1.0",
|
"proxy-from-env": "1.1.0",
|
||||||
"retry": "0.12.0",
|
"retry": "0.12.0",
|
||||||
"rimraf": "^4.4.1",
|
|
||||||
"signal-exit": "3.0.7",
|
"signal-exit": "3.0.7",
|
||||||
"socks-proxy-agent": "6.1.1",
|
"socks-proxy-agent": "6.1.1",
|
||||||
"stack-utils": "2.0.5",
|
"stack-utils": "2.0.5",
|
||||||
|
|
|
||||||
|
|
@ -46,9 +46,6 @@ export { program } from 'commander';
|
||||||
import progressLibrary from 'progress';
|
import progressLibrary from 'progress';
|
||||||
export const progress = progressLibrary;
|
export const progress = progressLibrary;
|
||||||
|
|
||||||
import rimrafLibrary from 'rimraf';
|
|
||||||
export const rimraf = rimrafLibrary;
|
|
||||||
|
|
||||||
export { SocksProxyAgent } from 'socks-proxy-agent';
|
export { SocksProxyAgent } from 'socks-proxy-agent';
|
||||||
|
|
||||||
import StackUtilsLibrary from 'stack-utils';
|
import StackUtilsLibrary from 'stack-utils';
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@
|
||||||
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { rimraf } from '../utilsBundle';
|
|
||||||
|
|
||||||
export const existsAsync = (path: string): Promise<boolean> => new Promise(resolve => fs.stat(path, err => resolve(!err)));
|
export const existsAsync = (path: string): Promise<boolean> => new Promise(resolve => fs.stat(path, err => resolve(!err)));
|
||||||
|
|
||||||
|
|
@ -25,12 +24,10 @@ export async function mkdirIfNeeded(filePath: string) {
|
||||||
await fs.promises.mkdir(path.dirname(filePath), { recursive: true }).catch(() => {});
|
await fs.promises.mkdir(path.dirname(filePath), { recursive: true }).catch(() => {});
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function removeFolders(dirs: string[]): Promise<Array<Error|null|undefined>> {
|
export async function removeFolders(dirs: string[]): Promise<Error[]> {
|
||||||
return await Promise.all(dirs.map((dir: string) => {
|
return await Promise.all(dirs.map((dir: string) =>
|
||||||
return new Promise<Error|null|undefined>(fulfill => {
|
fs.promises.rm(dir, { recursive: true, force: true, maxRetries: 10 })
|
||||||
rimraf(dir, { maxRetries: 10 }).then(() => fulfill(undefined)).catch((e: Error) => fulfill(e));
|
)).catch(e => e);
|
||||||
});
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function canAccessFile(file: string) {
|
export function canAccessFile(file: string) {
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,11 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import fs from 'fs';
|
||||||
import * as childProcess from 'child_process';
|
import * as childProcess from 'child_process';
|
||||||
import * as readline from 'readline';
|
import * as readline from 'readline';
|
||||||
import { isUnderTest } from './';
|
import { isUnderTest } from './';
|
||||||
import { removeFolders } from './fileUtils';
|
import { removeFolders } from './fileUtils';
|
||||||
import { rimraf } from '../utilsBundle';
|
|
||||||
|
|
||||||
export type Env = {[key: string]: string | number | boolean | undefined};
|
export type Env = {[key: string]: string | number | boolean | undefined};
|
||||||
|
|
||||||
|
|
@ -245,7 +245,7 @@ export async function launchProcess(options: LaunchProcessOptions): Promise<Laun
|
||||||
options.log(`[pid=${spawnedProcess.pid || 'N/A'}] starting temporary directories cleanup`);
|
options.log(`[pid=${spawnedProcess.pid || 'N/A'}] starting temporary directories cleanup`);
|
||||||
for (const dir of options.tempDirectories) {
|
for (const dir of options.tempDirectories) {
|
||||||
try {
|
try {
|
||||||
rimraf.sync(dir);
|
fs.rmSync(dir, { force: true, recursive: true, maxRetries: 5 });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
options.log(`[pid=${spawnedProcess.pid || 'N/A'}] exception while removing ${dir}: ${e}`);
|
options.log(`[pid=${spawnedProcess.pid || 'N/A'}] exception while removing ${dir}: ${e}`);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ export const open: typeof import('../bundles/utils/node_modules/open') = require
|
||||||
export const PNG: typeof import('../bundles/utils/node_modules/@types/pngjs').PNG = require('./utilsBundleImpl').PNG;
|
export const PNG: typeof import('../bundles/utils/node_modules/@types/pngjs').PNG = require('./utilsBundleImpl').PNG;
|
||||||
export const program: typeof import('../bundles/utils/node_modules/commander').program = require('./utilsBundleImpl').program;
|
export const program: typeof import('../bundles/utils/node_modules/commander').program = require('./utilsBundleImpl').program;
|
||||||
export const progress: typeof import('../bundles/utils/node_modules/@types/progress') = require('./utilsBundleImpl').progress;
|
export const progress: typeof import('../bundles/utils/node_modules/@types/progress') = require('./utilsBundleImpl').progress;
|
||||||
export const rimraf: typeof import('../bundles/utils/node_modules/rimraf').rimraf = require('./utilsBundleImpl').rimraf;
|
|
||||||
export const SocksProxyAgent: typeof import('../bundles/utils/node_modules/socks-proxy-agent').SocksProxyAgent = require('./utilsBundleImpl').SocksProxyAgent;
|
export const SocksProxyAgent: typeof import('../bundles/utils/node_modules/socks-proxy-agent').SocksProxyAgent = require('./utilsBundleImpl').SocksProxyAgent;
|
||||||
export const ws: typeof import('../bundles/utils/node_modules/@types/ws') = require('./utilsBundleImpl').ws;
|
export const ws: typeof import('../bundles/utils/node_modules/@types/ws') = require('./utilsBundleImpl').ws;
|
||||||
export const wsServer: typeof import('../bundles/utils/node_modules/@types/ws').WebSocketServer = require('./utilsBundleImpl').wsServer;
|
export const wsServer: typeof import('../bundles/utils/node_modules/@types/ws').WebSocketServer = require('./utilsBundleImpl').wsServer;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,8 @@
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { promisify } from 'util';
|
import { promisify } from 'util';
|
||||||
import { debug, rimraf } from 'playwright-core/lib/utilsBundle';
|
import { debug } from 'playwright-core/lib/utilsBundle';
|
||||||
|
import { removeFolders } from 'playwright-core/lib/utils';
|
||||||
import { Dispatcher, type EnvByProjectId } from './dispatcher';
|
import { Dispatcher, type EnvByProjectId } from './dispatcher';
|
||||||
import type { TestRunnerPluginRegistration } from '../plugins';
|
import type { TestRunnerPluginRegistration } from '../plugins';
|
||||||
import type { ReporterV2 } from '../reporters/reporterV2';
|
import type { ReporterV2 } from '../reporters/reporterV2';
|
||||||
|
|
@ -172,13 +173,15 @@ function createRemoveOutputDirsTask(): Task<TestRun> {
|
||||||
outputDirs.add(p.project.outputDir);
|
outputDirs.add(p.project.outputDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
await Promise.all(Array.from(outputDirs).map(outputDir => rimraf(outputDir).catch(async (error: any) => {
|
await Promise.all(Array.from(outputDirs).map(outputDir => removeFolders([outputDir]).then(async ([error]) => {
|
||||||
|
if (!error)
|
||||||
|
return;
|
||||||
if ((error as any).code === 'EBUSY') {
|
if ((error as any).code === 'EBUSY') {
|
||||||
// We failed to remove folder, might be due to the whole folder being mounted inside a container:
|
// We failed to remove folder, might be due to the whole folder being mounted inside a container:
|
||||||
// https://github.com/microsoft/playwright/issues/12106
|
// https://github.com/microsoft/playwright/issues/12106
|
||||||
// Do a best-effort to remove all files inside of it instead.
|
// Do a best-effort to remove all files inside of it instead.
|
||||||
const entries = await readDirAsync(outputDir).catch(e => []);
|
const entries = await readDirAsync(outputDir).catch(e => []);
|
||||||
await Promise.all(entries.map(entry => rimraf(path.join(outputDir, entry))));
|
await Promise.all(entries.map(entry => removeFolders([path.join(outputDir, entry)])));
|
||||||
} else {
|
} else {
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { colors, rimraf } from 'playwright-core/lib/utilsBundle';
|
import { colors } from 'playwright-core/lib/utilsBundle';
|
||||||
import { debugTest, formatLocation, relativeFilePath, serializeError } from '../util';
|
import { debugTest, formatLocation, relativeFilePath, serializeError } from '../util';
|
||||||
import { type TestBeginPayload, type TestEndPayload, type RunPayload, type DonePayload, type WorkerInitParams, type TeardownErrorsPayload, stdioChunkToParams } from '../common/ipc';
|
import { type TestBeginPayload, type TestEndPayload, type RunPayload, type DonePayload, type WorkerInitParams, type TeardownErrorsPayload, stdioChunkToParams } from '../common/ipc';
|
||||||
import { setCurrentTestInfo, setIsWorkerProcess } from '../common/globals';
|
import { setCurrentTestInfo, setIsWorkerProcess } from '../common/globals';
|
||||||
|
|
@ -22,7 +22,7 @@ import { ConfigLoader } from '../common/configLoader';
|
||||||
import type { Suite, TestCase } from '../common/test';
|
import type { Suite, TestCase } from '../common/test';
|
||||||
import type { Annotation, FullConfigInternal, FullProjectInternal } from '../common/config';
|
import type { Annotation, FullConfigInternal, FullProjectInternal } from '../common/config';
|
||||||
import { FixtureRunner } from './fixtureRunner';
|
import { FixtureRunner } from './fixtureRunner';
|
||||||
import { ManualPromise, captureLibraryStackTrace, gracefullyCloseAll } from 'playwright-core/lib/utils';
|
import { ManualPromise, captureLibraryStackTrace, gracefullyCloseAll, removeFolders } from 'playwright-core/lib/utils';
|
||||||
import { TestInfoImpl } from './testInfo';
|
import { TestInfoImpl } from './testInfo';
|
||||||
import { TimeoutManager, type TimeSlot } from './timeoutManager';
|
import { TimeoutManager, type TimeSlot } from './timeoutManager';
|
||||||
import { ProcessRunner } from '../common/process';
|
import { ProcessRunner } from '../common/process';
|
||||||
|
|
@ -323,7 +323,7 @@ export class WorkerMain extends ProcessRunner {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await rimraf(testInfo.outputDir).catch(() => {});
|
await removeFolders([testInfo.outputDir]);
|
||||||
|
|
||||||
let testFunctionParams: object | null = null;
|
let testFunctionParams: object | null = null;
|
||||||
await testInfo._runAsStep({ category: 'hook', title: 'Before Hooks' }, async step => {
|
await testInfo._runAsStep({ category: 'hook', title: 'Before Hooks' }, async step => {
|
||||||
|
|
@ -490,7 +490,7 @@ export class WorkerMain extends ProcessRunner {
|
||||||
const preserveOutput = this._config.config.preserveOutput === 'always' ||
|
const preserveOutput = this._config.config.preserveOutput === 'always' ||
|
||||||
(this._config.config.preserveOutput === 'failures-only' && testInfo._isFailure());
|
(this._config.config.preserveOutput === 'failures-only' && testInfo._isFailure());
|
||||||
if (!preserveOutput)
|
if (!preserveOutput)
|
||||||
await rimraf(testInfo.outputDir).catch(() => {});
|
await removeFolders([testInfo.outputDir]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async _runModifiersForSuite(suite: Suite, testInfo: TestInfoImpl, scope: 'worker' | 'test', timeSlot: TimeSlot | undefined, extraAnnotations?: Annotation[]) {
|
private async _runModifiersForSuite(suite: Suite, testInfo: TestInfoImpl, scope: 'worker' | 'test', timeSlot: TimeSlot | undefined, extraAnnotations?: Annotation[]) {
|
||||||
|
|
|
||||||
|
|
@ -17,13 +17,13 @@
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import { spawnAsync } from '../../packages/playwright-core/lib/utils/spawnAsync';
|
import { spawnAsync } from '../../packages/playwright-core/lib/utils/spawnAsync';
|
||||||
import { rimraf } from 'playwright-core/lib/utilsBundle';
|
import { removeFolders } from '../../packages/playwright-core/lib/utils/fileUtils';
|
||||||
import { TMP_WORKSPACES } from './npmTest';
|
import { TMP_WORKSPACES } from './npmTest';
|
||||||
|
|
||||||
const PACKAGE_BUILDER_SCRIPT = path.join(__dirname, '..', '..', 'utils', 'pack_package.js');
|
const PACKAGE_BUILDER_SCRIPT = path.join(__dirname, '..', '..', 'utils', 'pack_package.js');
|
||||||
|
|
||||||
async function globalSetup() {
|
async function globalSetup() {
|
||||||
await rimraf(TMP_WORKSPACES);
|
await removeFolders([TMP_WORKSPACES]);
|
||||||
console.log(`Temporary workspaces will be created in ${TMP_WORKSPACES}. They will not be removed at the end. Set DEBUG=itest to determine which sub-dir a specific test is using.`);
|
console.log(`Temporary workspaces will be created in ${TMP_WORKSPACES}. They will not be removed at the end. Set DEBUG=itest to determine which sub-dir a specific test is using.`);
|
||||||
await fs.promises.mkdir(TMP_WORKSPACES, { recursive: true });
|
await fs.promises.mkdir(TMP_WORKSPACES, { recursive: true });
|
||||||
|
|
||||||
|
|
@ -32,7 +32,7 @@ async function globalSetup() {
|
||||||
} else {
|
} else {
|
||||||
console.log('Building packages. Set PWTEST_INSTALLATION_TEST_SKIP_PACKAGE_BUILDS to skip.');
|
console.log('Building packages. Set PWTEST_INSTALLATION_TEST_SKIP_PACKAGE_BUILDS to skip.');
|
||||||
const outputDir = path.join(__dirname, 'output');
|
const outputDir = path.join(__dirname, 'output');
|
||||||
await rimraf(outputDir);
|
await removeFolders([outputDir]);
|
||||||
await fs.promises.mkdir(outputDir, { recursive: true });
|
await fs.promises.mkdir(outputDir, { recursive: true });
|
||||||
|
|
||||||
const build = async (buildTarget: string, pkgNameOverride?: string) => {
|
const build = async (buildTarget: string, pkgNameOverride?: string) => {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,8 @@ import type { JSONReport, JSONReportSpec, JSONReportSuite, JSONReportTest, JSONR
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as os from 'os';
|
import * as os from 'os';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import { rimraf, PNG } from 'playwright-core/lib/utilsBundle';
|
import { PNG } from 'playwright-core/lib/utilsBundle';
|
||||||
|
import { removeFolders } from '../../packages/playwright-core/src/utils/fileUtils';
|
||||||
import type { CommonFixtures, CommonWorkerFixtures, TestChildProcess } from '../config/commonFixtures';
|
import type { CommonFixtures, CommonWorkerFixtures, TestChildProcess } from '../config/commonFixtures';
|
||||||
import { commonFixtures } from '../config/commonFixtures';
|
import { commonFixtures } from '../config/commonFixtures';
|
||||||
import type { ServerFixtures, ServerWorkerOptions } from '../config/serverFixtures';
|
import type { ServerFixtures, ServerWorkerOptions } from '../config/serverFixtures';
|
||||||
|
|
@ -262,7 +263,7 @@ export const test = base
|
||||||
const baseDir = await writeFiles(testInfo, files, true);
|
const baseDir = await writeFiles(testInfo, files, true);
|
||||||
return await runPlaywrightTest(childProcess, baseDir, params, { ...env, PWTEST_CACHE_DIR: cacheDir }, options, files, mergeReports, useIntermediateMergeReport);
|
return await runPlaywrightTest(childProcess, baseDir, params, { ...env, PWTEST_CACHE_DIR: cacheDir }, options, files, mergeReports, useIntermediateMergeReport);
|
||||||
});
|
});
|
||||||
await rimraf(cacheDir);
|
await removeFolders([cacheDir]);
|
||||||
},
|
},
|
||||||
|
|
||||||
runListFiles: async ({ childProcess }, use, testInfo: TestInfo) => {
|
runListFiles: async ({ childProcess }, use, testInfo: TestInfo) => {
|
||||||
|
|
@ -271,7 +272,7 @@ export const test = base
|
||||||
const baseDir = await writeFiles(testInfo, files, true);
|
const baseDir = await writeFiles(testInfo, files, true);
|
||||||
return await runPlaywrightListFiles(childProcess, baseDir, { PWTEST_CACHE_DIR: cacheDir });
|
return await runPlaywrightListFiles(childProcess, baseDir, { PWTEST_CACHE_DIR: cacheDir });
|
||||||
});
|
});
|
||||||
await rimraf(cacheDir);
|
await removeFolders([cacheDir]);
|
||||||
},
|
},
|
||||||
|
|
||||||
runWatchTest: async ({ interactWithTestRunner }, use, testInfo: TestInfo) => {
|
runWatchTest: async ({ interactWithTestRunner }, use, testInfo: TestInfo) => {
|
||||||
|
|
@ -287,7 +288,7 @@ export const test = base
|
||||||
return testProcess;
|
return testProcess;
|
||||||
});
|
});
|
||||||
await testProcess?.kill();
|
await testProcess?.kill();
|
||||||
await rimraf(cacheDir);
|
await removeFolders([cacheDir]);
|
||||||
},
|
},
|
||||||
|
|
||||||
runTSC: async ({ childProcess }, use, testInfo) => {
|
runTSC: async ({ childProcess }, use, testInfo) => {
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@ const testFiles = {
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import rimraf from 'rimraf';
|
|
||||||
|
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
|
|
||||||
|
|
@ -107,7 +106,7 @@ const testFiles = {
|
||||||
const context = await playwright[browserName].launchPersistentContext(dir);
|
const context = await playwright[browserName].launchPersistentContext(dir);
|
||||||
await use(context.pages()[0]);
|
await use(context.pages()[0]);
|
||||||
await context.close();
|
await context.close();
|
||||||
rimraf.sync(dir);
|
fs.rmSync(dir, { recursive: true, force: true, maxRetries: 10 });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,6 @@ test('should respect context options in various contexts', async ({ runInlineTes
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import rimraf from 'rimraf';
|
|
||||||
|
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
test.use({ locale: 'fr-FR' });
|
test.use({ locale: 'fr-FR' });
|
||||||
|
|
@ -228,7 +227,7 @@ test('should respect context options in various contexts', async ({ runInlineTes
|
||||||
expect(await page.evaluate(() => navigator.language)).toBe('fr-FR');
|
expect(await page.evaluate(() => navigator.language)).toBe('fr-FR');
|
||||||
|
|
||||||
await context.close();
|
await context.close();
|
||||||
rimraf.sync(dir);
|
fs.rmSync(dir, { recursive: true, force: true, maxRetries: 10 });
|
||||||
});
|
});
|
||||||
|
|
||||||
test('another browser', async ({ playwright, browserName }) => {
|
test('another browser', async ({ playwright, browserName }) => {
|
||||||
|
|
@ -255,7 +254,6 @@ test('should respect headless in launchPersistent', async ({ runInlineTest }) =>
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import rimraf from 'rimraf';
|
|
||||||
|
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
|
|
||||||
|
|
@ -265,7 +263,7 @@ test('should respect headless in launchPersistent', async ({ runInlineTest }) =>
|
||||||
const page = context.pages()[0];
|
const page = context.pages()[0];
|
||||||
expect(await page.evaluate(() => navigator.userAgent)).not.toContain('Headless');
|
expect(await page.evaluate(() => navigator.userAgent)).not.toContain('Headless');
|
||||||
await context.close();
|
await context.close();
|
||||||
rimraf.sync(dir);
|
fs.rmSync(dir, { recursive: true, force: true, maxRetries: 10 });
|
||||||
});
|
});
|
||||||
`,
|
`,
|
||||||
}, { workers: 1 });
|
}, { workers: 1 });
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,11 @@ import * as fs from 'fs';
|
||||||
import * as os from 'os';
|
import * as os from 'os';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import type { TestChildProcess } from '../config/commonFixtures';
|
import type { TestChildProcess } from '../config/commonFixtures';
|
||||||
import { rimraf } from '../../packages/playwright-core/lib/utilsBundle';
|
|
||||||
import { cleanEnv, cliEntrypoint, test as base, writeFiles } from './playwright-test-fixtures';
|
import { cleanEnv, cliEntrypoint, test as base, writeFiles } from './playwright-test-fixtures';
|
||||||
import type { Files, RunOptions } from './playwright-test-fixtures';
|
import type { Files, RunOptions } from './playwright-test-fixtures';
|
||||||
import type { Browser, BrowserType, Page, TestInfo } from './stable-test-runner';
|
import type { Browser, BrowserType, Page, TestInfo } from './stable-test-runner';
|
||||||
import { createGuid } from '../../packages/playwright-core/src/utils/crypto';
|
import { createGuid } from '../../packages/playwright-core/src/utils/crypto';
|
||||||
|
import { removeFolders } from '../../packages/playwright-core/src/utils/fileUtils';
|
||||||
|
|
||||||
type Latch = {
|
type Latch = {
|
||||||
blockingCode: string;
|
blockingCode: string;
|
||||||
|
|
@ -128,7 +128,7 @@ export const test = base
|
||||||
});
|
});
|
||||||
await browser?.close();
|
await browser?.close();
|
||||||
await testProcess?.kill('SIGINT');
|
await testProcess?.kill('SIGINT');
|
||||||
await rimraf(cacheDir);
|
await removeFolders([cacheDir]);
|
||||||
},
|
},
|
||||||
createLatch: async ({}, use, testInfo) => {
|
createLatch: async ({}, use, testInfo) => {
|
||||||
await use(() => {
|
await use(() => {
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,17 @@
|
||||||
|
// @ts-check
|
||||||
const { workspace } = require('../workspace');
|
const { workspace } = require('../workspace');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const rimraf = require('rimraf');
|
|
||||||
|
const rmSync = (dir) => fs.rmSync(dir, { recursive: true, force: true, maxRetries: 10 });
|
||||||
|
|
||||||
for (const pkg of workspace.packages()) {
|
for (const pkg of workspace.packages()) {
|
||||||
rimraf.sync(path.join(pkg.path, 'node_modules'));
|
rmSync(path.join(pkg.path, 'node_modules'));
|
||||||
rimraf.sync(path.join(pkg.path, 'lib'));
|
rmSync(path.join(pkg.path, 'lib'));
|
||||||
rimraf.sync(path.join(pkg.path, 'src', 'generated'));
|
rmSync(path.join(pkg.path, 'src', 'generated'));
|
||||||
const bundles = path.join(pkg.path, 'bundles');
|
const bundles = path.join(pkg.path, 'bundles');
|
||||||
if (fs.existsSync(bundles) && fs.statSync(bundles).isDirectory()) {
|
if (fs.existsSync(bundles) && fs.statSync(bundles).isDirectory()) {
|
||||||
for (const bundle of fs.readdirSync(bundles))
|
for (const bundle of fs.readdirSync(bundles))
|
||||||
rimraf.sync(path.join(bundles, bundle, 'node_modules'));
|
rmSync(path.join(bundles, bundle, 'node_modules'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue