venetian 0.2.0-aarch64-linux → 0.2.3-aarch64-linux
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/exe/aarch64-linux/LICENSE +204 -204
- data/exe/aarch64-linux/node +2 -2
- data/exe/aarch64-linux/package/browsers.json +10 -39
- data/exe/aarch64-linux/package/lib/bootstrap.js +1 -1
- data/exe/aarch64-linux/package/lib/coreBundle.js +14708 -12281
- data/exe/aarch64-linux/package/lib/server/electron/loader.js +5 -4
- data/exe/aarch64-linux/package/lib/serverRegistry.js +1674 -7078
- data/exe/aarch64-linux/package/lib/serverRegistry.js.LICENSE +8 -297
- data/exe/aarch64-linux/package/lib/tools/cli-client/help.json +39 -11
- data/exe/aarch64-linux/package/lib/tools/cli-client/minimist.js +1 -1
- data/exe/aarch64-linux/package/lib/tools/cli-client/output.js +9 -1
- data/exe/aarch64-linux/package/lib/tools/cli-client/program.js +18 -4
- data/exe/aarch64-linux/package/lib/tools/cli-client/registry.js +9 -5
- data/exe/aarch64-linux/package/lib/tools/cli-client/session.js +6 -1
- data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/SKILL.md +26 -5
- data/exe/aarch64-linux/package/lib/tools/{cli-client/skill/references/spec-driven-testing.md → skills/playwright-cli/references/test-generation.md} +135 -7
- data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/references/tracing.md +1 -1
- data/exe/aarch64-linux/package/lib/tools/skills/playwright-component-testing/SKILL.md +136 -0
- data/exe/aarch64-linux/package/lib/tools/skills/playwright-component-testing/references/gallery-spec.md +144 -0
- data/exe/aarch64-linux/package/lib/tools/skills/playwright-component-testing/references/migration.md +89 -0
- data/exe/aarch64-linux/package/lib/tools/skills/playwright-component-testing/references/react.md +69 -0
- data/exe/aarch64-linux/package/lib/tools/skills/playwright-component-testing/references/typing.md +173 -0
- data/exe/aarch64-linux/package/lib/tools/skills/playwright-component-testing/references/vue.md +77 -0
- data/exe/aarch64-linux/package/lib/tools/{trace → skills/playwright-trace}/SKILL.md +6 -3
- data/exe/aarch64-linux/package/lib/tools/utils/extension.js +44 -10
- data/exe/aarch64-linux/package/lib/utilsBundle.js +48939 -50318
- data/exe/aarch64-linux/package/lib/utilsBundle.js.LICENSE +359 -525
- data/exe/aarch64-linux/package/lib/vite/dashboard/assets/codeMirrorModule--QdMvsKi.css +1 -0
- data/exe/aarch64-linux/package/lib/vite/dashboard/assets/codeMirrorModule-CQ8RZGBm.js +32 -0
- data/exe/aarch64-linux/package/lib/vite/dashboard/assets/index-AwgwcYie.css +1 -0
- data/exe/aarch64-linux/package/lib/vite/dashboard/assets/index-hRvO4yU2.js +12 -0
- data/exe/aarch64-linux/package/lib/vite/dashboard/index.html +2 -2
- data/exe/aarch64-linux/package/lib/vite/htmlReport/report.css +2 -1
- data/exe/aarch64-linux/package/lib/vite/htmlReport/report.js +15 -55
- data/exe/aarch64-linux/package/lib/vite/recorder/assets/codeMirrorModule--QdMvsKi.css +1 -0
- data/exe/aarch64-linux/package/lib/vite/recorder/assets/codeMirrorModule-CVQWJZAA.js +32 -0
- data/exe/aarch64-linux/package/lib/vite/recorder/assets/index-BZpYJZ-P.css +1 -0
- data/exe/aarch64-linux/package/lib/vite/recorder/assets/index-hrlLqLtq.js +129 -0
- data/exe/aarch64-linux/package/lib/vite/recorder/index.html +2 -2
- data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/codeMirrorModule-BbkfBe3n.js +32 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/defaultSettingsView-Ds6CBOo0.js +182 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/urlMatch-L3liM589.js +1 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/xtermModule-DywYcAf8.js +7 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/codeMirrorModule.-QdMvsKi.css +1 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/defaultSettingsView.Bqk9acqE.css +1 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/index.B4cLoZK3.js +1 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/index.B_TqY17P.css +1 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/index.html +5 -5
- data/exe/aarch64-linux/package/lib/vite/traceViewer/snapshot.B_Jk1wbt.js +1 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/snapshot.html +2 -2
- data/exe/aarch64-linux/package/lib/vite/traceViewer/sw.bundle.js +3 -4
- data/exe/aarch64-linux/package/lib/vite/traceViewer/uiMode.CU5KtEkS.js +5 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/uiMode.CyMfwkXJ.css +1 -0
- data/exe/aarch64-linux/package/lib/vite/traceViewer/uiMode.html +5 -5
- data/exe/aarch64-linux/package/lib/vite/traceViewer/xtermModule.kHJ-D0s7.css +1 -0
- data/exe/aarch64-linux/package/lib/webp_codec.LICENSE +173 -0
- data/exe/aarch64-linux/package/lib/webp_codec.wasm +0 -0
- data/exe/aarch64-linux/package/lib/xdg-open +338 -137
- data/exe/aarch64-linux/package/package.json +2 -2
- data/exe/aarch64-linux/package/types/protocol.d.ts +446 -430
- data/exe/aarch64-linux/package/types/structs.d.ts +8 -1
- data/exe/aarch64-linux/package/types/types.d.ts +2627 -440
- data/lib/venetian/executable.rb +6 -2
- data/lib/venetian/upstream.rb +35 -18
- data/lib/venetian/version.rb +2 -2
- metadata +45 -39
- data/exe/aarch64-linux/package/api.json +0 -1
- data/exe/aarch64-linux/package/lib/server/deviceDescriptorsSource.json +0 -2739
- data/exe/aarch64-linux/package/lib/tools/cli-client/skill/references/test-generation.md +0 -134
- data/exe/aarch64-linux/package/lib/vite/dashboard/assets/index-BY2S1tHT.css +0 -1
- data/exe/aarch64-linux/package/lib/vite/dashboard/assets/index-C_5TMfeg.js +0 -52
- data/exe/aarch64-linux/package/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css +0 -1
- data/exe/aarch64-linux/package/lib/vite/recorder/assets/codeMirrorModule-DeBYQozu.js +0 -32
- data/exe/aarch64-linux/package/lib/vite/recorder/assets/index-4ZiSSCmn.css +0 -1
- data/exe/aarch64-linux/package/lib/vite/recorder/assets/index-Bq-mQf8S.js +0 -193
- data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/codeMirrorModule-LEHpjmcn.js +0 -32
- data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/defaultSettingsView-BNmKHKpQ.js +0 -264
- data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/urlMatch-BYQrIQwR.js +0 -1
- data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +0 -9
- data/exe/aarch64-linux/package/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css +0 -1
- data/exe/aarch64-linux/package/lib/vite/traceViewer/defaultSettingsView.CjdS-WJx.css +0 -1
- data/exe/aarch64-linux/package/lib/vite/traceViewer/index.CzXZzn5A.css +0 -1
- data/exe/aarch64-linux/package/lib/vite/traceViewer/index.DMMX1gXU.js +0 -2
- data/exe/aarch64-linux/package/lib/vite/traceViewer/snapshot.v8KI4P3m.js +0 -2
- data/exe/aarch64-linux/package/lib/vite/traceViewer/uiMode.BZQ54Kgt.css +0 -1
- data/exe/aarch64-linux/package/lib/vite/traceViewer/uiMode.Ut8wwJNp.js +0 -6
- data/exe/aarch64-linux/package/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +0 -32
- data/exe/aarch64-linux/package/protocol.yml +0 -4991
- /data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/references/element-attributes.md +0 -0
- /data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/references/playwright-tests.md +0 -0
- /data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/references/request-mocking.md +0 -0
- /data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/references/running-code.md +0 -0
- /data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/references/session-management.md +0 -0
- /data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/references/storage-state.md +0 -0
- /data/exe/aarch64-linux/package/lib/tools/{cli-client/skill → skills/playwright-cli}/references/video-recording.md +0 -0
|
@@ -4,87 +4,14 @@ THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
|
|
|
4
4
|
|
|
5
5
|
The following npm packages are inlined into this bundle.
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
- braces@3.0.3 (https://github.com/micromatch/braces)
|
|
10
|
-
- chokidar@3.6.0 (https://github.com/paulmillr/chokidar)
|
|
11
|
-
- fill-range@7.1.1 (https://github.com/jonschlinkert/fill-range)
|
|
12
|
-
- glob-parent@5.1.2 (https://github.com/gulpjs/glob-parent)
|
|
13
|
-
- is-binary-path@2.1.0 (https://github.com/sindresorhus/is-binary-path)
|
|
14
|
-
- is-extglob@2.1.1 (https://github.com/jonschlinkert/is-extglob)
|
|
15
|
-
- is-glob@4.0.3 (https://github.com/micromatch/is-glob)
|
|
16
|
-
- is-number@7.0.0 (https://github.com/jonschlinkert/is-number)
|
|
17
|
-
- normalize-path@3.0.0 (https://github.com/jonschlinkert/normalize-path)
|
|
18
|
-
- picomatch@2.3.2 (https://github.com/micromatch/picomatch)
|
|
19
|
-
- readdirp@3.6.0 (https://github.com/paulmillr/readdirp)
|
|
20
|
-
- to-regex-range@5.0.1 (https://github.com/micromatch/to-regex-range)
|
|
7
|
+
- chokidar@4.0.3 (https://github.com/paulmillr/chokidar)
|
|
8
|
+
- readdirp@4.1.2 (https://github.com/paulmillr/readdirp)
|
|
21
9
|
|
|
22
|
-
%%
|
|
23
|
-
=========================================
|
|
24
|
-
The ISC License
|
|
25
|
-
|
|
26
|
-
Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com)
|
|
27
|
-
|
|
28
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
29
|
-
purpose with or without fee is hereby granted, provided that the above
|
|
30
|
-
copyright notice and this permission notice appear in all copies.
|
|
31
|
-
|
|
32
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
33
|
-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
34
|
-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
35
|
-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
36
|
-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
37
|
-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
38
|
-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
39
|
-
=========================================
|
|
40
|
-
END OF anymatch@3.1.3 NOTICES AND INFORMATION
|
|
41
|
-
|
|
42
|
-
%% binary-extensions@2.3.0 NOTICES AND INFORMATION BEGIN HERE
|
|
43
|
-
=========================================
|
|
44
|
-
MIT License
|
|
45
|
-
|
|
46
|
-
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
47
|
-
Copyright (c) Paul Miller (https://paulmillr.com)
|
|
48
|
-
|
|
49
|
-
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:
|
|
50
|
-
|
|
51
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
52
|
-
|
|
53
|
-
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.
|
|
54
|
-
=========================================
|
|
55
|
-
END OF binary-extensions@2.3.0 NOTICES AND INFORMATION
|
|
56
|
-
|
|
57
|
-
%% braces@3.0.3 NOTICES AND INFORMATION BEGIN HERE
|
|
10
|
+
%% chokidar@4.0.3 NOTICES AND INFORMATION BEGIN HERE
|
|
58
11
|
=========================================
|
|
59
12
|
The MIT License (MIT)
|
|
60
13
|
|
|
61
|
-
Copyright (c)
|
|
62
|
-
|
|
63
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
64
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
65
|
-
in the Software without restriction, including without limitation the rights
|
|
66
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
67
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
68
|
-
furnished to do so, subject to the following conditions:
|
|
69
|
-
|
|
70
|
-
The above copyright notice and this permission notice shall be included in
|
|
71
|
-
all copies or substantial portions of the Software.
|
|
72
|
-
|
|
73
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
74
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
75
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
76
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
77
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
78
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
79
|
-
THE SOFTWARE.
|
|
80
|
-
=========================================
|
|
81
|
-
END OF braces@3.0.3 NOTICES AND INFORMATION
|
|
82
|
-
|
|
83
|
-
%% chokidar@3.6.0 NOTICES AND INFORMATION BEGIN HERE
|
|
84
|
-
=========================================
|
|
85
|
-
The MIT License (MIT)
|
|
86
|
-
|
|
87
|
-
Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker
|
|
14
|
+
Copyright (c) 2012 Paul Miller (https://paulmillr.com), Elan Shanker
|
|
88
15
|
|
|
89
16
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
90
17
|
of this software and associated documentation files (the “Software”), to deal
|
|
@@ -104,199 +31,9 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
104
31
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
105
32
|
THE SOFTWARE.
|
|
106
33
|
=========================================
|
|
107
|
-
END OF chokidar@
|
|
108
|
-
|
|
109
|
-
%% fill-range@7.1.1 NOTICES AND INFORMATION BEGIN HERE
|
|
110
|
-
=========================================
|
|
111
|
-
The MIT License (MIT)
|
|
112
|
-
|
|
113
|
-
Copyright (c) 2014-present, Jon Schlinkert.
|
|
114
|
-
|
|
115
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
116
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
117
|
-
in the Software without restriction, including without limitation the rights
|
|
118
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
119
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
120
|
-
furnished to do so, subject to the following conditions:
|
|
121
|
-
|
|
122
|
-
The above copyright notice and this permission notice shall be included in
|
|
123
|
-
all copies or substantial portions of the Software.
|
|
124
|
-
|
|
125
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
126
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
127
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
128
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
129
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
130
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
131
|
-
THE SOFTWARE.
|
|
132
|
-
=========================================
|
|
133
|
-
END OF fill-range@7.1.1 NOTICES AND INFORMATION
|
|
134
|
-
|
|
135
|
-
%% glob-parent@5.1.2 NOTICES AND INFORMATION BEGIN HERE
|
|
136
|
-
=========================================
|
|
137
|
-
The ISC License
|
|
138
|
-
|
|
139
|
-
Copyright (c) 2015, 2019 Elan Shanker
|
|
140
|
-
|
|
141
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
142
|
-
purpose with or without fee is hereby granted, provided that the above
|
|
143
|
-
copyright notice and this permission notice appear in all copies.
|
|
144
|
-
|
|
145
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
146
|
-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
147
|
-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
148
|
-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
149
|
-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
150
|
-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
151
|
-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
152
|
-
=========================================
|
|
153
|
-
END OF glob-parent@5.1.2 NOTICES AND INFORMATION
|
|
154
|
-
|
|
155
|
-
%% is-binary-path@2.1.0 NOTICES AND INFORMATION BEGIN HERE
|
|
156
|
-
=========================================
|
|
157
|
-
MIT License
|
|
158
|
-
|
|
159
|
-
Copyright (c) 2019 Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com), Paul Miller (https://paulmillr.com)
|
|
160
|
-
|
|
161
|
-
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:
|
|
162
|
-
|
|
163
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
164
|
-
|
|
165
|
-
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.
|
|
166
|
-
=========================================
|
|
167
|
-
END OF is-binary-path@2.1.0 NOTICES AND INFORMATION
|
|
168
|
-
|
|
169
|
-
%% is-extglob@2.1.1 NOTICES AND INFORMATION BEGIN HERE
|
|
170
|
-
=========================================
|
|
171
|
-
The MIT License (MIT)
|
|
172
|
-
|
|
173
|
-
Copyright (c) 2014-2016, Jon Schlinkert
|
|
174
|
-
|
|
175
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
176
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
177
|
-
in the Software without restriction, including without limitation the rights
|
|
178
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
179
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
180
|
-
furnished to do so, subject to the following conditions:
|
|
181
|
-
|
|
182
|
-
The above copyright notice and this permission notice shall be included in
|
|
183
|
-
all copies or substantial portions of the Software.
|
|
184
|
-
|
|
185
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
186
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
187
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
188
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
189
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
190
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
191
|
-
THE SOFTWARE.
|
|
192
|
-
=========================================
|
|
193
|
-
END OF is-extglob@2.1.1 NOTICES AND INFORMATION
|
|
194
|
-
|
|
195
|
-
%% is-glob@4.0.3 NOTICES AND INFORMATION BEGIN HERE
|
|
196
|
-
=========================================
|
|
197
|
-
The MIT License (MIT)
|
|
198
|
-
|
|
199
|
-
Copyright (c) 2014-2017, Jon Schlinkert.
|
|
200
|
-
|
|
201
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
202
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
203
|
-
in the Software without restriction, including without limitation the rights
|
|
204
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
205
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
206
|
-
furnished to do so, subject to the following conditions:
|
|
207
|
-
|
|
208
|
-
The above copyright notice and this permission notice shall be included in
|
|
209
|
-
all copies or substantial portions of the Software.
|
|
210
|
-
|
|
211
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
212
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
213
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
214
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
215
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
216
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
217
|
-
THE SOFTWARE.
|
|
218
|
-
=========================================
|
|
219
|
-
END OF is-glob@4.0.3 NOTICES AND INFORMATION
|
|
220
|
-
|
|
221
|
-
%% is-number@7.0.0 NOTICES AND INFORMATION BEGIN HERE
|
|
222
|
-
=========================================
|
|
223
|
-
The MIT License (MIT)
|
|
224
|
-
|
|
225
|
-
Copyright (c) 2014-present, Jon Schlinkert.
|
|
226
|
-
|
|
227
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
228
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
229
|
-
in the Software without restriction, including without limitation the rights
|
|
230
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
231
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
232
|
-
furnished to do so, subject to the following conditions:
|
|
233
|
-
|
|
234
|
-
The above copyright notice and this permission notice shall be included in
|
|
235
|
-
all copies or substantial portions of the Software.
|
|
236
|
-
|
|
237
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
238
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
239
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
240
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
241
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
242
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
243
|
-
THE SOFTWARE.
|
|
244
|
-
=========================================
|
|
245
|
-
END OF is-number@7.0.0 NOTICES AND INFORMATION
|
|
246
|
-
|
|
247
|
-
%% normalize-path@3.0.0 NOTICES AND INFORMATION BEGIN HERE
|
|
248
|
-
=========================================
|
|
249
|
-
The MIT License (MIT)
|
|
250
|
-
|
|
251
|
-
Copyright (c) 2014-2018, Jon Schlinkert.
|
|
252
|
-
|
|
253
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
254
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
255
|
-
in the Software without restriction, including without limitation the rights
|
|
256
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
257
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
258
|
-
furnished to do so, subject to the following conditions:
|
|
259
|
-
|
|
260
|
-
The above copyright notice and this permission notice shall be included in
|
|
261
|
-
all copies or substantial portions of the Software.
|
|
262
|
-
|
|
263
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
264
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
265
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
266
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
267
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
268
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
269
|
-
THE SOFTWARE.
|
|
270
|
-
=========================================
|
|
271
|
-
END OF normalize-path@3.0.0 NOTICES AND INFORMATION
|
|
34
|
+
END OF chokidar@4.0.3 NOTICES AND INFORMATION
|
|
272
35
|
|
|
273
|
-
%%
|
|
274
|
-
=========================================
|
|
275
|
-
The MIT License (MIT)
|
|
276
|
-
|
|
277
|
-
Copyright (c) 2017-present, Jon Schlinkert.
|
|
278
|
-
|
|
279
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
280
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
281
|
-
in the Software without restriction, including without limitation the rights
|
|
282
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
283
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
284
|
-
furnished to do so, subject to the following conditions:
|
|
285
|
-
|
|
286
|
-
The above copyright notice and this permission notice shall be included in
|
|
287
|
-
all copies or substantial portions of the Software.
|
|
288
|
-
|
|
289
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
290
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
291
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
292
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
293
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
294
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
295
|
-
THE SOFTWARE.
|
|
296
|
-
=========================================
|
|
297
|
-
END OF picomatch@2.3.2 NOTICES AND INFORMATION
|
|
298
|
-
|
|
299
|
-
%% readdirp@3.6.0 NOTICES AND INFORMATION BEGIN HERE
|
|
36
|
+
%% readdirp@4.1.2 NOTICES AND INFORMATION BEGIN HERE
|
|
300
37
|
=========================================
|
|
301
38
|
MIT License
|
|
302
39
|
|
|
@@ -320,35 +57,9 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
320
57
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
321
58
|
SOFTWARE.
|
|
322
59
|
=========================================
|
|
323
|
-
END OF readdirp@
|
|
324
|
-
|
|
325
|
-
%% to-regex-range@5.0.1 NOTICES AND INFORMATION BEGIN HERE
|
|
326
|
-
=========================================
|
|
327
|
-
The MIT License (MIT)
|
|
328
|
-
|
|
329
|
-
Copyright (c) 2015-present, Jon Schlinkert.
|
|
330
|
-
|
|
331
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
332
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
333
|
-
in the Software without restriction, including without limitation the rights
|
|
334
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
335
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
336
|
-
furnished to do so, subject to the following conditions:
|
|
337
|
-
|
|
338
|
-
The above copyright notice and this permission notice shall be included in
|
|
339
|
-
all copies or substantial portions of the Software.
|
|
340
|
-
|
|
341
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
342
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
343
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
344
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
345
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
346
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
347
|
-
THE SOFTWARE.
|
|
348
|
-
=========================================
|
|
349
|
-
END OF to-regex-range@5.0.1 NOTICES AND INFORMATION
|
|
60
|
+
END OF readdirp@4.1.2 NOTICES AND INFORMATION
|
|
350
61
|
|
|
351
62
|
SUMMARY
|
|
352
63
|
=========================================
|
|
353
|
-
Total Packages:
|
|
64
|
+
Total Packages: 2
|
|
354
65
|
=========================================
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
"global": "Usage: playwright-cli <command> [args] [options]\nUsage: playwright-cli -s=<session> <command> [args] [options]\n\nCore:\n open [url] open the browser\n attach [name] attach to a running playwright browser\n close close the browser\n detach detach from an attached browser\n goto <url> navigate to a url\n type <text> type text into editable element\n click <target> [button] perform click on a web page\n dblclick <target> [button] perform double click on a web page\n fill <target> <text> fill text into editable element\n drag <startTarget> <endTarget> perform drag and drop between two elements\n drop <target> drop files or data onto an element\n hover <target> hover over element on page\n select <target> <val> select an option in a dropdown\n upload <
|
|
2
|
+
"global": "Usage: playwright-cli <command> [args] [options]\nUsage: playwright-cli -s=<session> <command> [args] [options]\n\nCore:\n open [url] open the browser\n attach [name] attach to a running playwright browser\n close close the browser\n detach detach from an attached browser\n goto <url> navigate to a url\n type <text> type text into editable element\n click <target> [button] perform click on a web page\n dblclick <target> [button] perform double click on a web page\n fill <target> <text> fill text into editable element\n drag <startTarget> <endTarget> perform drag and drop between two elements\n drop <target> drop files or data onto an element\n hover <target> hover over element on page\n select <target> <val> select an option in a dropdown\n upload <files...> upload one or multiple files\n check <target> check a checkbox or radio button\n uncheck <target> uncheck a checkbox or radio button\n snapshot [target] capture page snapshot to obtain element ref\n find [text] search the page snapshot for text or a regexp, returning matching nodes with surrounding context (like search snippets)\n eval <func> [target] evaluate javascript expression on page or element\n dialog-accept [prompt] accept a dialog\n dialog-dismiss dismiss a dialog\n resize <w> <h> resize the browser window\n delete-data delete session data\n\nNavigation:\n go-back go back to the previous page\n go-forward go forward to the next page\n reload reload the current page\n\nKeyboard:\n press <key> press a key on the keyboard, `a`, `arrowleft`\n keydown <key> press a key down on the keyboard\n keyup <key> press a key up on the keyboard\n\nMouse:\n mousemove <x> <y> move mouse to a given position\n mousedown [button] press mouse down\n mouseup [button] press mouse up\n mousewheel <dx> <dy> scroll mouse wheel\n\nSave as:\n screenshot [target] screenshot of the current page or element\n pdf save page as pdf\n\nTabs:\n tab-list list all tabs\n tab-new [url] create a new tab\n tab-close [index] close a browser tab\n tab-select <index> select a browser tab\n\nStorage:\n state-load <filename> loads browser storage (authentication) state from a file\n state-save [filename] saves the current storage (authentication) state to a file\n cookie-list list all cookies (optionally filtered by domain/path)\n cookie-get <name> get a specific cookie by name\n cookie-set <name> <value> set a cookie with optional flags\n cookie-delete <name> delete a specific cookie\n cookie-clear clear all cookies\n localstorage-list list all localstorage key-value pairs\n localstorage-get <key> get a localstorage item by key\n localstorage-set <key> <value> set a localstorage item\n localstorage-delete <key> delete a localstorage item\n localstorage-clear clear all localstorage\n sessionstorage-list list all sessionstorage key-value pairs\n sessionstorage-get <key> get a sessionstorage item by key\n sessionstorage-set <key> <value> set a sessionstorage item\n sessionstorage-delete <key> delete a sessionstorage item\n sessionstorage-clear clear all sessionstorage\n\nNetwork:\n requests list all network requests since loading the page. each request is numbered for use with the `request` command.\n request <index> show full details (headers, body, response) of a single network request by its number from the `requests` command.\n request-headers <index> print only the request headers for a single network request by its number from the `requests` command.\n request-body <index> print only the request body for a single network request by its number from the `requests` command.\n response-headers <index> print only the response headers for a single network request by its number from the `requests` command.\n response-body <index> print the response body for a single network request by its number from the `requests` command. textual bodies are inlined; binary bodies are saved to a file and the path is printed.\n route <pattern> mock network requests matching a url pattern\n route-list list all active network routes\n unroute [pattern] remove routes matching a pattern (or all routes)\n network-state-set <state> set the browser network state to online or offline\n\nDevTools:\n console [min-level] list console messages\n run-code [code] run playwright code snippet\n recording-start start recording user actions\n recording-stop stop recording user actions and print them as playwright code\n tracing-start start trace recording\n tracing-stop stop trace recording\n video-start [filename] start video recording\n video-stop stop video recording\n video-chapter <title> add a chapter marker to the video recording\n video-show-actions annotate subsequent cli/mcp actions on the page with a callout that names the action and highlights the target element\n video-hide-actions stop annotating actions performed on the page\n show show playwright dashboard\n pause-at <location> run the test up to a specific location and pause there\n resume resume the test execution\n step-over step over the next call in the test\n generate-locator <target> generate a playwright locator for the given element\n highlight [target] show (or with --hide, remove) a highlight overlay for an element; `--hide` without a target hides all page highlights.\n\nInstall:\n install initialize workspace\n install-browser [browser] install browser\n\nBrowser sessions:\n list list browser sessions\n close-all close all browser sessions\n kill-all forcefully kill all browser sessions (for stale/zombie processes)\n\nGlobal options:\n --help [command] print help\n --json output response as JSON\n --raw output only the result value, without status and code\n --version print version",
|
|
3
3
|
"commands": {
|
|
4
4
|
"open": {
|
|
5
|
-
"help": "playwright-cli open [url]\n\nOpen the browser\n\nArguments:\n [url] the url to navigate to\nOptions:\n --browser browser or chrome channel to use, possible values: chrome, firefox, webkit, msedge.\n --config path to the configuration file, defaults to .playwright/cli.config.json\n --headed run browser in headed mode\n --persistent use persistent browser profile\n --profile path to a persistent user data directory.",
|
|
5
|
+
"help": "playwright-cli open [url]\n\nOpen the browser\n\nArguments:\n [url] the url to navigate to\nOptions:\n --browser browser or chrome channel to use, possible values: chrome, firefox, webkit, msedge.\n --config path to the configuration file, defaults to .playwright/cli.config.json\n --device emulate a specific device, for example \"iphone 15\".\n --headed run browser in headed mode\n --mobile emulate a generic mobile device (pixel 10 for chromium, iphone 17 for webkit). mobile pages are usually lighter, which saves tokens.\n --persistent use persistent browser profile\n --profile path to a persistent user data directory.",
|
|
6
6
|
"flags": {
|
|
7
7
|
"browser": "string",
|
|
8
8
|
"config": "string",
|
|
9
|
+
"device": "string",
|
|
9
10
|
"headed": "boolean",
|
|
11
|
+
"mobile": "boolean",
|
|
10
12
|
"persistent": "boolean",
|
|
11
13
|
"profile": "string"
|
|
12
14
|
},
|
|
@@ -117,11 +119,12 @@
|
|
|
117
119
|
]
|
|
118
120
|
},
|
|
119
121
|
"upload": {
|
|
120
|
-
"help": "playwright-cli upload <
|
|
122
|
+
"help": "playwright-cli upload <files...>\n\nUpload one or multiple files\n\nArguments:\n <files...> the absolute paths to the files to upload",
|
|
121
123
|
"flags": {},
|
|
122
124
|
"args": [
|
|
123
|
-
"
|
|
124
|
-
]
|
|
125
|
+
"files"
|
|
126
|
+
],
|
|
127
|
+
"variadicArg": true
|
|
125
128
|
},
|
|
126
129
|
"check": {
|
|
127
130
|
"help": "playwright-cli check <target>\n\nCheck a checkbox or radio button\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector",
|
|
@@ -148,6 +151,15 @@
|
|
|
148
151
|
"target"
|
|
149
152
|
]
|
|
150
153
|
},
|
|
154
|
+
"find": {
|
|
155
|
+
"help": "playwright-cli find [text]\n\nSearch the page snapshot for text or a regexp, returning matching nodes with surrounding context (like search snippets)\n\nArguments:\n [text] plain text to search for in the page snapshot (case-insensitive substring match)\nOptions:\n --regex regular expression to search for in the page snapshot. provide either a text argument or --regex, not both.",
|
|
156
|
+
"flags": {
|
|
157
|
+
"regex": "string"
|
|
158
|
+
},
|
|
159
|
+
"args": [
|
|
160
|
+
"text"
|
|
161
|
+
]
|
|
162
|
+
},
|
|
151
163
|
"eval": {
|
|
152
164
|
"help": "playwright-cli eval <func> [target]\n\nEvaluate JavaScript expression on page or element\n\nArguments:\n <func> () => { /* code */ } or (element) => { /* code */ } when element is provided\n [target] exact target element reference from the page snapshot, or a unique element selector\nOptions:\n --filename save evaluation result to a file instead of returning it in the response.",
|
|
153
165
|
"flags": {
|
|
@@ -268,10 +280,12 @@
|
|
|
268
280
|
]
|
|
269
281
|
},
|
|
270
282
|
"screenshot": {
|
|
271
|
-
"help": "playwright-cli screenshot [target]\n\nscreenshot of the current page or element\n\nArguments:\n [target] exact target element reference from the page snapshot, or a unique element selector\nOptions:\n --filename file name to save the screenshot to. defaults to `page-{timestamp}.{png|jpeg}` if not specified.\n --full-page when true, takes a screenshot of the full scrollable page, instead of the currently visible viewport.",
|
|
283
|
+
"help": "playwright-cli screenshot [target]\n\nscreenshot of the current page or element\n\nArguments:\n [target] exact target element reference from the page snapshot, or a unique element selector\nOptions:\n --filename file name to save the screenshot to. defaults to `page-{timestamp}.{png|jpeg|webp}` if not specified.\n --type image format. if unset, inferred from the filename extension, otherwise png. (one of: png, jpeg, webp)\n --full-page when true, takes a screenshot of the full scrollable page, instead of the currently visible viewport.\n --hires when true, captures a high-resolution screenshot using device pixels (accounts for the device pixel ratio), instead of css pixels.",
|
|
272
284
|
"flags": {
|
|
273
285
|
"filename": "string",
|
|
274
|
-
"
|
|
286
|
+
"type": "string",
|
|
287
|
+
"full-page": "boolean",
|
|
288
|
+
"hires": "boolean"
|
|
275
289
|
},
|
|
276
290
|
"args": [
|
|
277
291
|
"target"
|
|
@@ -342,7 +356,7 @@
|
|
|
342
356
|
"raw": true
|
|
343
357
|
},
|
|
344
358
|
"cookie-set": {
|
|
345
|
-
"help": "playwright-cli cookie-set <name> <value>\n\nSet a cookie with optional flags\n\nArguments:\n <name> cookie name\n <value> cookie value\nOptions:\n --domain cookie domain\n --path cookie path\n --expires cookie expiration as unix timestamp\n --httpOnly whether the cookie is http only\n --secure whether the cookie is secure\n --sameSite cookie samesite attribute",
|
|
359
|
+
"help": "playwright-cli cookie-set <name> <value>\n\nSet a cookie with optional flags\n\nArguments:\n <name> cookie name\n <value> cookie value\nOptions:\n --domain cookie domain\n --path cookie path\n --expires cookie expiration as unix timestamp\n --httpOnly whether the cookie is http only\n --secure whether the cookie is secure\n --sameSite cookie samesite attribute (one of: Strict, Lax, None)",
|
|
346
360
|
"flags": {
|
|
347
361
|
"domain": "string",
|
|
348
362
|
"path": "string",
|
|
@@ -533,9 +547,10 @@
|
|
|
533
547
|
"args": []
|
|
534
548
|
},
|
|
535
549
|
"install": {
|
|
536
|
-
"help": "playwright-cli install \n\nInitialize workspace\n\nOptions:\n --skills install skills, possible values: claude (default), agents.",
|
|
550
|
+
"help": "playwright-cli install \n\nInitialize workspace\n\nOptions:\n --skills install skills, possible values: claude (default), agents.\n --global install skills into the home directory instead of the workspace (alias: -g). requires --skills.",
|
|
537
551
|
"flags": {
|
|
538
|
-
"skills": "string"
|
|
552
|
+
"skills": "string",
|
|
553
|
+
"global": "boolean"
|
|
539
554
|
},
|
|
540
555
|
"args": []
|
|
541
556
|
},
|
|
@@ -553,6 +568,16 @@
|
|
|
553
568
|
"browser"
|
|
554
569
|
]
|
|
555
570
|
},
|
|
571
|
+
"recording-start": {
|
|
572
|
+
"help": "playwright-cli recording-start \n\nStart recording user actions\n",
|
|
573
|
+
"flags": {},
|
|
574
|
+
"args": []
|
|
575
|
+
},
|
|
576
|
+
"recording-stop": {
|
|
577
|
+
"help": "playwright-cli recording-stop \n\nStop recording user actions and print them as Playwright code\n",
|
|
578
|
+
"flags": {},
|
|
579
|
+
"args": []
|
|
580
|
+
},
|
|
556
581
|
"tracing-start": {
|
|
557
582
|
"help": "playwright-cli tracing-start \n\nStart trace recording\n",
|
|
558
583
|
"flags": {},
|
|
@@ -588,7 +613,7 @@
|
|
|
588
613
|
]
|
|
589
614
|
},
|
|
590
615
|
"video-show-actions": {
|
|
591
|
-
"help": "playwright-cli video-show-actions \n\nAnnotate subsequent CLI/MCP actions on the page with a callout that names the action and highlights the target element\n\nOptions:\n --duration how long each action annotation stays on screen, in milliseconds. defaults to 500.\n --position where to place the action title: top-left, top, top-right, bottom-left, bottom, bottom-right. defaults to top-right
|
|
616
|
+
"help": "playwright-cli video-show-actions \n\nAnnotate subsequent CLI/MCP actions on the page with a callout that names the action and highlights the target element\n\nOptions:\n --duration how long each action annotation stays on screen, in milliseconds. defaults to 500.\n --position where to place the action title: top-left, top, top-right, bottom-left, bottom, bottom-right. defaults to top-right. (one of: top-left, top, top-right, bottom-left, bottom, bottom-right)\n --cursor cursor decoration: \"pointer\" (default) animates a mouse pointer between action points; \"none\" disables it. (one of: none, pointer)",
|
|
592
617
|
"flags": {
|
|
593
618
|
"duration": "string",
|
|
594
619
|
"position": "string",
|
|
@@ -671,14 +696,17 @@
|
|
|
671
696
|
},
|
|
672
697
|
"booleanOptions": [
|
|
673
698
|
"headed",
|
|
699
|
+
"mobile",
|
|
674
700
|
"persistent",
|
|
675
701
|
"submit",
|
|
676
702
|
"boxes",
|
|
677
703
|
"clear",
|
|
678
704
|
"full-page",
|
|
705
|
+
"hires",
|
|
679
706
|
"httpOnly",
|
|
680
707
|
"secure",
|
|
681
708
|
"static",
|
|
709
|
+
"global",
|
|
682
710
|
"with-deps",
|
|
683
711
|
"dry-run",
|
|
684
712
|
"list",
|
|
@@ -70,7 +70,7 @@ function minimist(args, opts) {
|
|
|
70
70
|
} else {
|
|
71
71
|
setArg(key, strings[key] ? "" : true);
|
|
72
72
|
}
|
|
73
|
-
} else if (/^-[
|
|
73
|
+
} else if (/^-[A-Za-z]/.test(arg)) {
|
|
74
74
|
const letters = arg.slice(1, -1).split("");
|
|
75
75
|
let broken = false;
|
|
76
76
|
for (let j = 0; j < letters.length; j++) {
|
|
@@ -80,6 +80,10 @@ class TextOutput {
|
|
|
80
80
|
console.error(`Error: no target specified for attach command; use one of [name], --cdp, --endpoint, or --extension to specify the target to attach to.`);
|
|
81
81
|
return process.exit(1);
|
|
82
82
|
}
|
|
83
|
+
errorInstallGlobalRequiresSkills() {
|
|
84
|
+
console.error(`Error: --global requires --skills`);
|
|
85
|
+
return process.exit(1);
|
|
86
|
+
}
|
|
83
87
|
list({ all, browsers, servers, channelSessions }) {
|
|
84
88
|
const byWorkspace = /* @__PURE__ */ new Map();
|
|
85
89
|
for (const browser of browsers) {
|
|
@@ -161,7 +165,7 @@ class TextOutput {
|
|
|
161
165
|
attach(session, pid, endpoint, toolResult) {
|
|
162
166
|
if (endpoint) {
|
|
163
167
|
console.log(`### Session \`${session}\` created, attached to \`${endpoint}\`.`);
|
|
164
|
-
console.log(`Run commands with: playwright-cli
|
|
168
|
+
console.log(`Run commands with: playwright-cli -s=${session} <command>`);
|
|
165
169
|
console.log("");
|
|
166
170
|
} else {
|
|
167
171
|
console.log(`### Browser \`${session}\` opened with pid ${pid}.`);
|
|
@@ -236,6 +240,10 @@ class JsonOutput {
|
|
|
236
240
|
this._emit({ isError: true, error: `no target specified for attach command; use one of [name], --cdp, --endpoint, or --extension to specify the target to attach to.` });
|
|
237
241
|
return process.exit(1);
|
|
238
242
|
}
|
|
243
|
+
errorInstallGlobalRequiresSkills() {
|
|
244
|
+
this._emit({ isError: true, error: `--global requires --skills` });
|
|
245
|
+
return process.exit(1);
|
|
246
|
+
}
|
|
239
247
|
list({ all, browsers, servers, channelSessions }) {
|
|
240
248
|
const payload = { browsers };
|
|
241
249
|
if (all) {
|
|
@@ -50,6 +50,7 @@ const globalOptions = [
|
|
|
50
50
|
];
|
|
51
51
|
const booleanOptions = [
|
|
52
52
|
"all",
|
|
53
|
+
"g",
|
|
53
54
|
"help",
|
|
54
55
|
"json",
|
|
55
56
|
"raw",
|
|
@@ -65,6 +66,10 @@ async function program(options) {
|
|
|
65
66
|
args.session = args.s;
|
|
66
67
|
delete args.s;
|
|
67
68
|
}
|
|
69
|
+
if (args.g) {
|
|
70
|
+
args.global = true;
|
|
71
|
+
delete args.g;
|
|
72
|
+
}
|
|
68
73
|
const output = args.json ? new import_output.JsonOutput() : new import_output.TextOutput();
|
|
69
74
|
const commandName = args._?.[0];
|
|
70
75
|
if (args.version || args.v) {
|
|
@@ -78,7 +83,7 @@ async function program(options) {
|
|
|
78
83
|
} else {
|
|
79
84
|
const lines = ["playwright-cli - run playwright mcp commands from terminal"];
|
|
80
85
|
if (process.env.CLAUDECODE || process.env.COPILOT_CLI)
|
|
81
|
-
lines.push(`Agent skill: ${import_path.default.relative(process.cwd(), (0, import_package.libPath)("tools", "
|
|
86
|
+
lines.push(`Agent skill: ${import_path.default.relative(process.cwd(), (0, import_package.libPath)("tools", "skills", "playwright-cli", "SKILL.md"))}`);
|
|
82
87
|
lines.push(help.global);
|
|
83
88
|
output.help(lines.join("\n\n"));
|
|
84
89
|
}
|
|
@@ -168,6 +173,8 @@ async function program(options) {
|
|
|
168
173
|
return;
|
|
169
174
|
}
|
|
170
175
|
case "install":
|
|
176
|
+
if (args.global && !args.skills)
|
|
177
|
+
output.errorInstallGlobalRequiresSkills();
|
|
171
178
|
await runInitWorkspace(args, output);
|
|
172
179
|
output.installed();
|
|
173
180
|
return;
|
|
@@ -206,7 +213,8 @@ async function program(options) {
|
|
|
206
213
|
const foreground = args.port !== void 0;
|
|
207
214
|
const child = (0, import_child_process.spawn)(process.execPath, daemonArgs, {
|
|
208
215
|
detached: !foreground,
|
|
209
|
-
stdio: foreground ? "inherit" : ["pipe", "pipe", "ignore"]
|
|
216
|
+
stdio: foreground ? "inherit" : ["pipe", "pipe", "ignore"],
|
|
217
|
+
windowsHide: true
|
|
210
218
|
});
|
|
211
219
|
if (foreground) {
|
|
212
220
|
await new Promise((resolve) => child.on("exit", () => resolve()));
|
|
@@ -260,6 +268,8 @@ async function runInSession(entry, clientInfo, args, output) {
|
|
|
260
268
|
delete args[globalOption];
|
|
261
269
|
const session = new import_session.Session(entry);
|
|
262
270
|
const result = await session.run(clientInfo, args, { raw, json: output.json });
|
|
271
|
+
if (result.isError)
|
|
272
|
+
process.exitCode = 1;
|
|
263
273
|
return result.text;
|
|
264
274
|
}
|
|
265
275
|
async function runInSessionOrStop(entry, clientInfo, args, output) {
|
|
@@ -273,7 +283,11 @@ async function runInSessionOrStop(entry, clientInfo, args, output) {
|
|
|
273
283
|
}
|
|
274
284
|
async function runInitWorkspace(args, output) {
|
|
275
285
|
const cliPath = (0, import_package.libPath)("entry", "cliDaemon.js");
|
|
276
|
-
const daemonArgs = [
|
|
286
|
+
const daemonArgs = [
|
|
287
|
+
cliPath,
|
|
288
|
+
"--init-workspace",
|
|
289
|
+
...args.skills ? [args.global ? "--init-skills-global" : "--init-skills", String(args.skills)] : []
|
|
290
|
+
];
|
|
277
291
|
await new Promise((resolve, reject) => {
|
|
278
292
|
const child = (0, import_child_process.spawn)(process.execPath, daemonArgs, {
|
|
279
293
|
stdio: output.installStdio(),
|
|
@@ -389,7 +403,7 @@ function validateFlags(args, command, output) {
|
|
|
389
403
|
}
|
|
390
404
|
function validateArgs(args, command, output) {
|
|
391
405
|
const positional = args._.slice(1);
|
|
392
|
-
if (positional.length > command.args.length)
|
|
406
|
+
if (positional.length > command.args.length && !command.variadicArg)
|
|
393
407
|
output.errorTooManyArguments(command.args.length, positional.length, command.help);
|
|
394
408
|
}
|
|
395
409
|
function calculateSha1(buffer) {
|
|
@@ -91,9 +91,9 @@ class Registry {
|
|
|
91
91
|
}
|
|
92
92
|
static async load() {
|
|
93
93
|
const sessions = /* @__PURE__ */ new Map();
|
|
94
|
-
const hashDirs = await import_fs.default.promises.readdir(baseDaemonDir).catch(() => []);
|
|
94
|
+
const hashDirs = await import_fs.default.promises.readdir(baseDaemonDir()).catch(() => []);
|
|
95
95
|
for (const workspaceDirHash of hashDirs) {
|
|
96
|
-
const daemonDir = import_path.default.join(baseDaemonDir, workspaceDirHash);
|
|
96
|
+
const daemonDir = import_path.default.join(baseDaemonDir(), workspaceDirHash);
|
|
97
97
|
const stat = await import_fs.default.promises.stat(daemonDir);
|
|
98
98
|
if (!stat.isDirectory())
|
|
99
99
|
continue;
|
|
@@ -116,7 +116,7 @@ class Registry {
|
|
|
116
116
|
return new Registry(sessions);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
|
-
|
|
119
|
+
function computeBaseDaemonDir() {
|
|
120
120
|
if (process.env.PWTEST_DAEMON_SESSION_DIR)
|
|
121
121
|
return process.env.PWTEST_DAEMON_SESSION_DIR;
|
|
122
122
|
let localCacheDir;
|
|
@@ -129,7 +129,11 @@ const baseDaemonDir = (() => {
|
|
|
129
129
|
if (!localCacheDir)
|
|
130
130
|
throw new Error("Unsupported platform: " + process.platform);
|
|
131
131
|
return import_path.default.join(localCacheDir, "ms-playwright", "daemon");
|
|
132
|
-
}
|
|
132
|
+
}
|
|
133
|
+
let _baseDaemonDir;
|
|
134
|
+
function baseDaemonDir() {
|
|
135
|
+
return _baseDaemonDir ??= computeBaseDaemonDir();
|
|
136
|
+
}
|
|
133
137
|
function createClientInfo() {
|
|
134
138
|
const workspaceDir = findWorkspaceDir(process.cwd());
|
|
135
139
|
const version = process.env.PLAYWRIGHT_CLI_VERSION_FOR_TEST || import_package.packageJSON.version;
|
|
@@ -157,7 +161,7 @@ function findWorkspaceDir(startDir) {
|
|
|
157
161
|
return void 0;
|
|
158
162
|
}
|
|
159
163
|
const daemonProfilesDir = (workspaceDirHash) => {
|
|
160
|
-
return import_path.default.join(baseDaemonDir, workspaceDirHash);
|
|
164
|
+
return import_path.default.join(baseDaemonDir(), workspaceDirHash);
|
|
161
165
|
};
|
|
162
166
|
function explicitSessionName(sessionName) {
|
|
163
167
|
return sessionName || process.env.PLAYWRIGHT_CLI_SESSION;
|