cnpmcore 4.33.0 → 4.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -24,10 +24,38 @@ See [internal-api.md](docs/internal-api.md) for comprehensive documentation of c
|
|
|
24
24
|
|
|
25
25
|
See [DEVELOPER.md](DEVELOPER.md)
|
|
26
26
|
|
|
27
|
+
The quickest way to get a ready-to-code environment (MySQL + Redis + dev database preconfigured) is GitHub Codespaces:
|
|
28
|
+
|
|
29
|
+
[](https://codespaces.new/cnpm/cnpmcore)
|
|
30
|
+
|
|
31
|
+
You can also open the repo locally with the [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension. See [.devcontainer/README.md](.devcontainer/README.md) for details.
|
|
32
|
+
|
|
27
33
|
## How to integrate
|
|
28
34
|
|
|
29
35
|
See [INTEGRATE.md](INTEGRATE.md)
|
|
30
36
|
|
|
37
|
+
## npmmirror.com
|
|
38
|
+
|
|
39
|
+
[npmmirror.com](https://npmmirror.com) is the China NPM mirror hosted by cnpmcore, sponsored by [Alibaba Cloud / 阿里云](https://www.aliyun.com/).
|
|
40
|
+
|
|
41
|
+
npmmirror.com 是由 cnpmcore 驱动的中国 NPM 镜像,由[阿里云](https://www.aliyun.com/)提供基础设施赞助。
|
|
42
|
+
|
|
43
|
+
### Usage Policy
|
|
44
|
+
|
|
45
|
+
To provide a more stable and reliable service:
|
|
46
|
+
|
|
47
|
+
- Do not abuse the registry with excessive crawling or scraping.
|
|
48
|
+
- Automated access that generates unusually high traffic may be rate-limited without notice.
|
|
49
|
+
- If you have large-scale usage needs or are affected by rate limiting, please open a [GitHub Issue](https://github.com/cnpm/cnpmcore/issues) to contact us.
|
|
50
|
+
|
|
51
|
+
### 使用须知
|
|
52
|
+
|
|
53
|
+
为了提供更加稳定可靠的服务:
|
|
54
|
+
|
|
55
|
+
- 请勿滥用 registry,禁止过度爬取或抓取数据。
|
|
56
|
+
- 产生异常高流量的自动化访问可能会被限流,恕不另行通知。
|
|
57
|
+
- 如果您有大规模使用需求,或受到限流策略影响,请通过 [GitHub Issue](https://github.com/cnpm/cnpmcore/issues) 与我们联系。
|
|
58
|
+
|
|
31
59
|
## License
|
|
32
60
|
|
|
33
61
|
[MIT](LICENSE)
|
|
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
+
import { randomUUID } from 'node:crypto';
|
|
10
11
|
import { AccessLevel, Inject, SingletonProto } from 'egg';
|
|
11
12
|
const ONE_DAY = 3600 * 24;
|
|
12
13
|
let CacheAdapter = class CacheAdapter {
|
|
@@ -27,15 +28,19 @@ let CacheAdapter = class CacheAdapter {
|
|
|
27
28
|
}
|
|
28
29
|
async lock(key, seconds) {
|
|
29
30
|
const lockName = this.getLockName(key);
|
|
31
|
+
const now = Date.now();
|
|
30
32
|
const existsTimestamp = await this.redis.get(lockName);
|
|
31
33
|
if (existsTimestamp) {
|
|
32
|
-
if (
|
|
34
|
+
if (now < Number.parseInt(existsTimestamp)) {
|
|
33
35
|
return null;
|
|
34
36
|
}
|
|
35
37
|
// lock timeout, delete it
|
|
36
38
|
await this.redis.del(lockName);
|
|
37
39
|
}
|
|
38
|
-
|
|
40
|
+
// token format: `<expiry>.<uuid>`
|
|
41
|
+
// - keep the numeric expiry prefix so the timeout check above can recover it via Number.parseInt()
|
|
42
|
+
// - append a random uuid so every acquisition gets a unique token, even when now and seconds are identical
|
|
43
|
+
const timestamp = `${now + seconds * 1000}.${randomUUID()}`;
|
|
39
44
|
const code = await this.redis.setnx(lockName, timestamp);
|
|
40
45
|
// setnx fail, lock fail
|
|
41
46
|
if (code === 0)
|
|
@@ -77,4 +82,4 @@ CacheAdapter = __decorate([
|
|
|
77
82
|
})
|
|
78
83
|
], CacheAdapter);
|
|
79
84
|
export { CacheAdapter };
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVBZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvbW1vbi9hZGFwdGVyL0NhY2hlQWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUsxRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBS25CLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQVk7SUFJdkIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUN2QyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBVztRQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLElBQVk7UUFDakMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVc7UUFDdEIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FB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
|
|
@@ -14,123 +14,134 @@ const DOWNLOAD_HOST = 'https://playwright.azureedge.net/';
|
|
|
14
14
|
// https://github.com/playwright-community/playwright-go/blob/56e30d60f8b42785982469eaca6ad969bc2e1946/run.go#L341-L374
|
|
15
15
|
const PLAYWRIGHT_DRIVER_ARCHS = ['win32_x64', 'mac-arm64', 'mac', 'linux-arm64', 'linux'];
|
|
16
16
|
// https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/registry/index.ts
|
|
17
|
+
// CFT entries use Chrome for Testing URLs: builds/cft/{browserVersion}/{suffix}
|
|
18
|
+
// (introduced in playwright 1.58.1, see https://github.com/cnpm/cnpmcore/issues/1033)
|
|
19
|
+
const cft = (suffix) => ({ cft: suffix });
|
|
17
20
|
/* eslint-disable quote-props */
|
|
18
21
|
const DOWNLOAD_PATHS = {
|
|
19
22
|
chromium: {
|
|
20
23
|
'<unknown>': undefined,
|
|
21
24
|
'ubuntu18.04-x64': undefined,
|
|
22
|
-
'ubuntu20.04-x64': '
|
|
23
|
-
'ubuntu22.04-x64': '
|
|
24
|
-
'ubuntu24.04-x64': '
|
|
25
|
+
'ubuntu20.04-x64': cft('linux64/chrome-linux64.zip'),
|
|
26
|
+
'ubuntu22.04-x64': cft('linux64/chrome-linux64.zip'),
|
|
27
|
+
'ubuntu24.04-x64': cft('linux64/chrome-linux64.zip'),
|
|
25
28
|
'ubuntu18.04-arm64': undefined,
|
|
26
29
|
'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
|
|
27
30
|
'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
|
|
28
31
|
'ubuntu24.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
|
|
29
|
-
'debian11-x64': '
|
|
32
|
+
'debian11-x64': cft('linux64/chrome-linux64.zip'),
|
|
30
33
|
'debian11-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
|
|
31
|
-
'debian12-x64': '
|
|
34
|
+
'debian12-x64': cft('linux64/chrome-linux64.zip'),
|
|
32
35
|
'debian12-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
|
|
33
|
-
'
|
|
34
|
-
'
|
|
35
|
-
'mac10.
|
|
36
|
-
|
|
37
|
-
'
|
|
38
|
-
|
|
39
|
-
'
|
|
40
|
-
|
|
41
|
-
'
|
|
42
|
-
|
|
43
|
-
'
|
|
44
|
-
|
|
45
|
-
'
|
|
46
|
-
|
|
36
|
+
'debian13-x64': cft('linux64/chrome-linux64.zip'),
|
|
37
|
+
'debian13-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
|
|
38
|
+
'mac10.13': cft('mac-x64/chrome-mac-x64.zip'),
|
|
39
|
+
'mac10.14': cft('mac-x64/chrome-mac-x64.zip'),
|
|
40
|
+
'mac10.15': cft('mac-x64/chrome-mac-x64.zip'),
|
|
41
|
+
mac11: cft('mac-x64/chrome-mac-x64.zip'),
|
|
42
|
+
'mac11-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
43
|
+
mac12: cft('mac-x64/chrome-mac-x64.zip'),
|
|
44
|
+
'mac12-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
45
|
+
mac13: cft('mac-x64/chrome-mac-x64.zip'),
|
|
46
|
+
'mac13-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
47
|
+
mac14: cft('mac-x64/chrome-mac-x64.zip'),
|
|
48
|
+
'mac14-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
49
|
+
mac15: cft('mac-x64/chrome-mac-x64.zip'),
|
|
50
|
+
'mac15-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
51
|
+
win64: cft('win64/chrome-win64.zip'),
|
|
47
52
|
},
|
|
48
53
|
'chromium-headless-shell': {
|
|
49
54
|
'<unknown>': undefined,
|
|
50
55
|
'ubuntu18.04-x64': undefined,
|
|
51
|
-
'ubuntu20.04-x64': '
|
|
52
|
-
'ubuntu22.04-x64': '
|
|
53
|
-
'ubuntu24.04-x64': '
|
|
56
|
+
'ubuntu20.04-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
57
|
+
'ubuntu22.04-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
58
|
+
'ubuntu24.04-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
54
59
|
'ubuntu18.04-arm64': undefined,
|
|
55
60
|
'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip',
|
|
56
61
|
'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip',
|
|
57
62
|
'ubuntu24.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip',
|
|
58
|
-
'debian11-x64': '
|
|
63
|
+
'debian11-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
59
64
|
'debian11-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip',
|
|
60
|
-
'debian12-x64': '
|
|
65
|
+
'debian12-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
61
66
|
'debian12-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip',
|
|
67
|
+
'debian13-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
68
|
+
'debian13-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip',
|
|
62
69
|
'mac10.13': undefined,
|
|
63
70
|
'mac10.14': undefined,
|
|
64
71
|
'mac10.15': undefined,
|
|
65
|
-
mac11: '
|
|
66
|
-
'mac11-arm64': '
|
|
67
|
-
mac12: '
|
|
68
|
-
'mac12-arm64': '
|
|
69
|
-
mac13: '
|
|
70
|
-
'mac13-arm64': '
|
|
71
|
-
mac14: '
|
|
72
|
-
'mac14-arm64': '
|
|
73
|
-
mac15: '
|
|
74
|
-
'mac15-arm64': '
|
|
75
|
-
win64: '
|
|
72
|
+
mac11: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
73
|
+
'mac11-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
74
|
+
mac12: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
75
|
+
'mac12-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
76
|
+
mac13: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
77
|
+
'mac13-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
78
|
+
mac14: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
79
|
+
'mac14-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
80
|
+
mac15: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
81
|
+
'mac15-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
82
|
+
win64: cft('win64/chrome-headless-shell-win64.zip'),
|
|
76
83
|
},
|
|
77
84
|
'chromium-tip-of-tree': {
|
|
78
85
|
'<unknown>': undefined,
|
|
79
86
|
'ubuntu18.04-x64': undefined,
|
|
80
|
-
'ubuntu20.04-x64': '
|
|
81
|
-
'ubuntu22.04-x64': '
|
|
82
|
-
'ubuntu24.04-x64': '
|
|
87
|
+
'ubuntu20.04-x64': cft('linux64/chrome-linux64.zip'),
|
|
88
|
+
'ubuntu22.04-x64': cft('linux64/chrome-linux64.zip'),
|
|
89
|
+
'ubuntu24.04-x64': cft('linux64/chrome-linux64.zip'),
|
|
83
90
|
'ubuntu18.04-arm64': undefined,
|
|
84
91
|
'ubuntu20.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
|
85
92
|
'ubuntu22.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
|
86
93
|
'ubuntu24.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
|
87
|
-
'debian11-x64': '
|
|
94
|
+
'debian11-x64': cft('linux64/chrome-linux64.zip'),
|
|
88
95
|
'debian11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
|
89
|
-
'debian12-x64': '
|
|
96
|
+
'debian12-x64': cft('linux64/chrome-linux64.zip'),
|
|
90
97
|
'debian12-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
|
91
|
-
'
|
|
92
|
-
'
|
|
93
|
-
'mac10.
|
|
94
|
-
|
|
95
|
-
'
|
|
96
|
-
|
|
97
|
-
'
|
|
98
|
-
|
|
99
|
-
'
|
|
100
|
-
|
|
101
|
-
'
|
|
102
|
-
|
|
103
|
-
'
|
|
104
|
-
|
|
98
|
+
'debian13-x64': cft('linux64/chrome-linux64.zip'),
|
|
99
|
+
'debian13-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
|
100
|
+
'mac10.13': cft('mac-x64/chrome-mac-x64.zip'),
|
|
101
|
+
'mac10.14': cft('mac-x64/chrome-mac-x64.zip'),
|
|
102
|
+
'mac10.15': cft('mac-x64/chrome-mac-x64.zip'),
|
|
103
|
+
mac11: cft('mac-x64/chrome-mac-x64.zip'),
|
|
104
|
+
'mac11-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
105
|
+
mac12: cft('mac-x64/chrome-mac-x64.zip'),
|
|
106
|
+
'mac12-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
107
|
+
mac13: cft('mac-x64/chrome-mac-x64.zip'),
|
|
108
|
+
'mac13-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
109
|
+
mac14: cft('mac-x64/chrome-mac-x64.zip'),
|
|
110
|
+
'mac14-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
111
|
+
mac15: cft('mac-x64/chrome-mac-x64.zip'),
|
|
112
|
+
'mac15-arm64': cft('mac-arm64/chrome-mac-arm64.zip'),
|
|
113
|
+
win64: cft('win64/chrome-win64.zip'),
|
|
105
114
|
},
|
|
106
115
|
'chromium-tip-of-tree-headless-shell': {
|
|
107
116
|
'<unknown>': undefined,
|
|
108
117
|
'ubuntu18.04-x64': undefined,
|
|
109
|
-
'ubuntu20.04-x64': '
|
|
110
|
-
'ubuntu22.04-x64': '
|
|
111
|
-
'ubuntu24.04-x64': '
|
|
118
|
+
'ubuntu20.04-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
119
|
+
'ubuntu22.04-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
120
|
+
'ubuntu24.04-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
112
121
|
'ubuntu18.04-arm64': undefined,
|
|
113
122
|
'ubuntu20.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip',
|
|
114
123
|
'ubuntu22.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip',
|
|
115
124
|
'ubuntu24.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip',
|
|
116
|
-
'debian11-x64': '
|
|
125
|
+
'debian11-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
117
126
|
'debian11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip',
|
|
118
|
-
'debian12-x64': '
|
|
127
|
+
'debian12-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
119
128
|
'debian12-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip',
|
|
129
|
+
'debian13-x64': cft('linux64/chrome-headless-shell-linux64.zip'),
|
|
130
|
+
'debian13-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip',
|
|
120
131
|
'mac10.13': undefined,
|
|
121
132
|
'mac10.14': undefined,
|
|
122
133
|
'mac10.15': undefined,
|
|
123
|
-
mac11: '
|
|
124
|
-
'mac11-arm64': '
|
|
125
|
-
mac12: '
|
|
126
|
-
'mac12-arm64': '
|
|
127
|
-
mac13: '
|
|
128
|
-
'mac13-arm64': '
|
|
129
|
-
mac14: '
|
|
130
|
-
'mac14-arm64': '
|
|
131
|
-
mac15: '
|
|
132
|
-
'mac15-arm64': '
|
|
133
|
-
win64: '
|
|
134
|
+
mac11: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
135
|
+
'mac11-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
136
|
+
mac12: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
137
|
+
'mac12-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
138
|
+
mac13: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
139
|
+
'mac13-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
140
|
+
mac14: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
141
|
+
'mac14-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
142
|
+
mac15: cft('mac-x64/chrome-headless-shell-mac-x64.zip'),
|
|
143
|
+
'mac15-arm64': cft('mac-arm64/chrome-headless-shell-mac-arm64.zip'),
|
|
144
|
+
win64: cft('win64/chrome-headless-shell-win64.zip'),
|
|
134
145
|
},
|
|
135
146
|
firefox: {
|
|
136
147
|
'<unknown>': undefined,
|
|
@@ -335,6 +346,15 @@ let PlaywrightBinary = class PlaywrightBinary extends AbstractBinary {
|
|
|
335
346
|
size: '-',
|
|
336
347
|
date: nowDateISO,
|
|
337
348
|
});
|
|
349
|
+
// builds/cft/ holds Chrome for Testing downloads
|
|
350
|
+
// (Playwright 1.58.1+ moved chromium downloads to builds/cft/{browserVersion}/{platform}/)
|
|
351
|
+
buildDirs.push({
|
|
352
|
+
name: 'cft/',
|
|
353
|
+
isDir: true,
|
|
354
|
+
url: '',
|
|
355
|
+
size: '-',
|
|
356
|
+
date: nowDateISO,
|
|
357
|
+
});
|
|
338
358
|
this.dirItems = {
|
|
339
359
|
'/': [
|
|
340
360
|
{
|
|
@@ -346,6 +366,7 @@ let PlaywrightBinary = class PlaywrightBinary extends AbstractBinary {
|
|
|
346
366
|
},
|
|
347
367
|
],
|
|
348
368
|
'/builds/': buildDirs,
|
|
369
|
+
'/builds/cft/': [],
|
|
349
370
|
};
|
|
350
371
|
for (const browserName of Object.keys(DOWNLOAD_PATHS)) {
|
|
351
372
|
if (browserName === 'chromium-headless-shell' || browserName === 'chromium-tip-of-tree-headless-shell') {
|
|
@@ -450,22 +471,59 @@ let PlaywrightBinary = class PlaywrightBinary extends AbstractBinary {
|
|
|
450
471
|
browserDirname = 'chromium-tip-of-tree';
|
|
451
472
|
}
|
|
452
473
|
for (const [platform, remotePath] of Object.entries(downloadPaths)) {
|
|
453
|
-
if (
|
|
474
|
+
if (!remotePath)
|
|
454
475
|
continue;
|
|
455
476
|
const revision = browser.revisionOverrides?.[platform] ?? browser.revision;
|
|
456
477
|
const itemDate = browser.browserVersion || revision;
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
if (
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
478
|
+
let url;
|
|
479
|
+
let name;
|
|
480
|
+
let dir;
|
|
481
|
+
if (typeof remotePath === 'string') {
|
|
482
|
+
url = DOWNLOAD_HOST + util.format(remotePath, revision);
|
|
483
|
+
name = path.basename(remotePath);
|
|
484
|
+
dir = `/builds/${browserDirname}/${revision}/`;
|
|
485
|
+
if (!this.dirItems[dir]) {
|
|
486
|
+
this.dirItems[`/builds/${browserDirname}/`].push({
|
|
487
|
+
name: `${revision}/`,
|
|
488
|
+
isDir: true,
|
|
489
|
+
url: '',
|
|
490
|
+
size: '-',
|
|
491
|
+
date: revision,
|
|
492
|
+
});
|
|
493
|
+
this.dirItems[dir] = [];
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
if (!browser.browserVersion)
|
|
498
|
+
continue;
|
|
499
|
+
const cftSuffix = remotePath.cft;
|
|
500
|
+
url = `${DOWNLOAD_HOST}builds/cft/${browser.browserVersion}/${cftSuffix}`;
|
|
501
|
+
name = path.basename(cftSuffix);
|
|
502
|
+
const platformDir = path.dirname(cftSuffix);
|
|
503
|
+
const versionDir = `/builds/cft/${browser.browserVersion}/`;
|
|
504
|
+
dir = `${versionDir}${platformDir}/`;
|
|
505
|
+
if (!this.dirItems[versionDir]) {
|
|
506
|
+
this.dirItems['/builds/cft/'].push({
|
|
507
|
+
name: `${browser.browserVersion}/`,
|
|
508
|
+
isDir: true,
|
|
509
|
+
url: '',
|
|
510
|
+
size: '-',
|
|
511
|
+
date: browser.browserVersion,
|
|
512
|
+
});
|
|
513
|
+
this.dirItems[versionDir] = [];
|
|
514
|
+
}
|
|
515
|
+
if (!this.dirItems[versionDir].some((item) => item.name === `${platformDir}/`)) {
|
|
516
|
+
this.dirItems[versionDir].push({
|
|
517
|
+
name: `${platformDir}/`,
|
|
518
|
+
isDir: true,
|
|
519
|
+
url: '',
|
|
520
|
+
size: '-',
|
|
521
|
+
date: browser.browserVersion,
|
|
522
|
+
});
|
|
523
|
+
}
|
|
524
|
+
if (!this.dirItems[dir]) {
|
|
525
|
+
this.dirItems[dir] = [];
|
|
526
|
+
}
|
|
469
527
|
}
|
|
470
528
|
if (!this.dirItems[dir].some((item) => item.name === name)) {
|
|
471
529
|
this.dirItems[dir].push({
|
|
@@ -487,4 +545,4 @@ PlaywrightBinary = __decorate([
|
|
|
487
545
|
BinaryAdapter(BinaryType.Playwright)
|
|
488
546
|
], PlaywrightBinary);
|
|
489
547
|
export { PlaywrightBinary };
|
|
490
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheXdyaWdodEJpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvUGxheXdyaWdodEJpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFxQyxNQUFNLHFCQUFxQixDQUFDO0FBRXZHLE1BQU0sV0FBVyxHQUFHLDRDQUE0QyxDQUFDO0FBQ2pFLE1BQU0sYUFBYSxHQUFHLG1DQUFtQyxDQUFDO0FBQzFELHVIQUF1SDtBQUN2SCxNQUFNLHVCQUF1QixHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRTFGLDBHQUEwRztBQUMxRyxnQ0FBZ0M7QUFDaEMsTUFBTSxjQUFjLEdBQUc7SUFDckIsUUFBUSxFQUFFO1FBQ1IsV0FBVyxFQUFFLFNBQVM7UUFDdEIsaUJBQWlCLEVBQUUsU0FBUztRQUM1QixpQkFBaUIsRUFBRSx1Q0FBdUM7UUFDMUQsaUJBQWlCLEVBQUUsdUNBQXVDO1FBQzFELGlCQUFpQixFQUFFLHVDQUF1QztRQUMxRCxtQkFBbUIsRUFBRSxTQUFTO1FBQzlCLG1CQUFtQixFQUFFLDZDQUE2QztRQUNsRSxtQkFBbUIsRUFBRSw2Q0FBNkM7UUFDbEUsbUJBQW1CLEVBQUUsNkNBQTZDO1FBQ2xFLGNBQWMsRUFBRSx1Q0FBdUM7UUFDdkQsZ0JBQWdCLEVBQUUsNkNBQTZDO1FBQy9ELGNBQWMsRUFBRSx1Q0FBdUM7UUFDdkQsZ0JBQWdCLEVBQUUsNkNBQTZDO1FB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
|
|
548
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheXdyaWdodEJpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvUGxheXdyaWdodEJpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFxQyxNQUFNLHFCQUFxQixDQUFDO0FBRXZHLE1BQU0sV0FBVyxHQUFHLDRDQUE0QyxDQUFDO0FBQ2pFLE1BQU0sYUFBYSxHQUFHLG1DQUFtQyxDQUFDO0FBQzFELHVIQUF1SDtBQUN2SCxNQUFNLHVCQUF1QixHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRTFGLDBHQUEwRztBQUMxRyxnRkFBZ0Y7QUFDaEYsc0ZBQXNGO0FBQ3RGLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFVLENBQUM7QUFDM0QsZ0NBQWdDO0FBQ2hDLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGlCQUFpQixFQUFFLFNBQVM7UUFDNUIsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLDRCQUE0QixDQUFDO1FBQ3BELGlCQUFpQixFQUFFLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQztRQUNwRCxpQkFBaUIsRUFBRSxHQUFHLENBQUMsNEJBQTRCLENBQUM7UUFDcEQsbUJBQW1CLEVBQUUsU0FBUztRQUM5QixtQkFBbUIsRUFB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cnpmcore",
|
|
3
|
-
"version": "4.33.
|
|
3
|
+
"version": "4.33.2",
|
|
4
4
|
"description": "Private NPM Registry for Enterprise",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"npm",
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
"predev": "npm run clean",
|
|
55
55
|
"dev": "egg-bin dev",
|
|
56
56
|
"dev:postgresql": "CNPMCORE_DATABASE_TYPE=PostgreSQL egg-bin dev",
|
|
57
|
-
"lint": "
|
|
57
|
+
"lint": "vp lint",
|
|
58
58
|
"lint:fix": "npm run lint -- --fix",
|
|
59
59
|
"typecheck": "tsc --noEmit",
|
|
60
|
-
"fmt": "
|
|
61
|
-
"fmtcheck": "
|
|
60
|
+
"fmt": "vp fmt",
|
|
61
|
+
"fmtcheck": "vp fmt --check",
|
|
62
62
|
"test:postgresql": "npm run test:local:postgresql",
|
|
63
63
|
"pretest:local:postgresql": "bash prepare-database-postgresql.sh",
|
|
64
64
|
"test:local:postgresql": "CNPMCORE_DATABASE_TYPE=PostgreSQL egg-bin test",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"start": "eggctl start --daemon && touch egg.status",
|
|
86
86
|
"start:foreground": "eggctl start",
|
|
87
87
|
"stop": "rm -f egg.status && sleep 15 && eggctl stop",
|
|
88
|
-
"
|
|
88
|
+
"prepare": "vp config || true"
|
|
89
89
|
},
|
|
90
90
|
"dependencies": {
|
|
91
91
|
"@cnpmjs/packument": "^1.7.0",
|
|
@@ -104,30 +104,29 @@
|
|
|
104
104
|
"egg-status": "^1.0.0",
|
|
105
105
|
"egg-view-nunjucks": "^2.3.0",
|
|
106
106
|
"eggjs-elasticsearch": "^0.0.6",
|
|
107
|
-
"fast-xml-parser": "^5.
|
|
107
|
+
"fast-xml-parser": "^5.8.0",
|
|
108
108
|
"fs-cnpm": "^2.4.1",
|
|
109
109
|
"ioredis": "^5.8.2",
|
|
110
110
|
"leoric": "^2.14.0",
|
|
111
111
|
"lodash-es": "^4.17.21",
|
|
112
112
|
"mime-types": "^3.0.2",
|
|
113
113
|
"mysql2": "^3.15.3",
|
|
114
|
-
"node-rsa": "^
|
|
115
|
-
"npm-package-arg": "^
|
|
114
|
+
"node-rsa": "^2.0.0",
|
|
115
|
+
"npm-package-arg": "^14.0.0",
|
|
116
116
|
"oss-cnpm": "^5.0.1",
|
|
117
117
|
"p-map": "^7.0.4",
|
|
118
118
|
"pg": "^8.16.3",
|
|
119
119
|
"read-env-value": "^2.0.2",
|
|
120
120
|
"semver": "^7.7.3",
|
|
121
|
-
"ssri": "^
|
|
121
|
+
"ssri": "^14.0.0",
|
|
122
122
|
"tar": "^7.5.2",
|
|
123
123
|
"type-fest": "^5.3.1",
|
|
124
124
|
"ua-parser-js": "^2.0.7",
|
|
125
|
-
"validate-npm-package-name": "^
|
|
125
|
+
"validate-npm-package-name": "^8.0.0"
|
|
126
126
|
},
|
|
127
127
|
"devDependencies": {
|
|
128
128
|
"@eggjs/bin": "^8.0.2-beta.2",
|
|
129
129
|
"@eggjs/mock": "^7.0.2-beta.2",
|
|
130
|
-
"@eggjs/oxlint-config": "^1.0.0",
|
|
131
130
|
"@eggjs/tsconfig": "^3.1.2-beta.2",
|
|
132
131
|
"@elastic/elasticsearch-mock": "^2.1.0",
|
|
133
132
|
"@simplewebauthn/typescript-types": "^7.4.0",
|
|
@@ -142,27 +141,26 @@
|
|
|
142
141
|
"@types/semver": "^7.7.1",
|
|
143
142
|
"@types/tar": "^7.0.0",
|
|
144
143
|
"@types/validate-npm-package-name": "^4.0.2",
|
|
144
|
+
"@vitest/coverage-v8": "4.1.9",
|
|
145
145
|
"coffee": "^5.5.1",
|
|
146
|
-
"husky": "^9.1.7",
|
|
147
146
|
"ioredis-mock": "^8.13.1",
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"oxlint": "^1.32.0",
|
|
151
|
-
"oxlint-tsgolint": "^0.20.0",
|
|
152
|
-
"typescript": "^6.0.0"
|
|
147
|
+
"typescript": "^6.0.0",
|
|
148
|
+
"vite-plus": "0.2.1"
|
|
153
149
|
},
|
|
154
150
|
"optionalDependencies": {
|
|
155
151
|
"s3-cnpmcore": "^1.1.2"
|
|
156
152
|
},
|
|
157
|
-
"
|
|
158
|
-
"
|
|
159
|
-
"
|
|
160
|
-
|
|
161
|
-
|
|
153
|
+
"overrides": {
|
|
154
|
+
"@aws-sdk/xml-builder": {
|
|
155
|
+
"fast-xml-parser": "$fast-xml-parser"
|
|
156
|
+
},
|
|
157
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@0.2.1",
|
|
158
|
+
"vitest": "4.1.9"
|
|
162
159
|
},
|
|
163
160
|
"engines": {
|
|
164
161
|
"node": "^20.18.0 || ^22.18.0 || ^24.11.0"
|
|
165
162
|
},
|
|
163
|
+
"packageManager": "npm@11.17.0",
|
|
166
164
|
"egg": {
|
|
167
165
|
"typescript": true
|
|
168
166
|
}
|