Spaces:
Paused
Paused
Pavel Feldman commited on
chore: split mcp into mcp and cli (#1346)
Browse files- .github/workflows/publish.yml +21 -0
- LICENSE +1 -2
- package-lock.json +25 -749
- packages/playwright-cli/.gitignore +0 -0
- packages/playwright-cli/.npmignore +4 -0
- packages/playwright-cli/LICENSE +201 -0
- packages/playwright-cli/README.md +391 -0
- packages/playwright-cli/package.json +30 -0
- packages/{playwright-mcp → playwright-cli}/playwright-cli.js +0 -0
- packages/playwright-mcp/.npmignore +0 -1
- packages/playwright-mcp/package.json +1 -3
.github/workflows/publish.yml
CHANGED
|
@@ -73,6 +73,27 @@ jobs:
|
|
| 73 |
- run: npm publish
|
| 74 |
working-directory: ./packages/playwright-mcp
|
| 75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
publish-mcp-release-docker:
|
| 77 |
if: github.event_name == 'release'
|
| 78 |
runs-on: ubuntu-latest
|
|
|
|
| 73 |
- run: npm publish
|
| 74 |
working-directory: ./packages/playwright-mcp
|
| 75 |
|
| 76 |
+
publish-cli-release-npm:
|
| 77 |
+
if: github.event_name == 'release'
|
| 78 |
+
runs-on: ubuntu-latest
|
| 79 |
+
permissions:
|
| 80 |
+
contents: read
|
| 81 |
+
id-token: write # Required for OIDC npm publishing
|
| 82 |
+
steps:
|
| 83 |
+
- uses: actions/checkout@v5
|
| 84 |
+
- uses: actions/setup-node@v5
|
| 85 |
+
with:
|
| 86 |
+
node-version: 20
|
| 87 |
+
registry-url: https://registry.npmjs.org/
|
| 88 |
+
# Ensure npm 11.5.1 or later is installed (for OIDC npm publishing)
|
| 89 |
+
- name: Update npm
|
| 90 |
+
run: npm install -g npm@latest
|
| 91 |
+
- run: npm ci
|
| 92 |
+
- run: npx playwright install --with-deps
|
| 93 |
+
- run: npm run lint
|
| 94 |
+
- run: npm publish
|
| 95 |
+
working-directory: ./packages/playwright-cli
|
| 96 |
+
|
| 97 |
publish-mcp-release-docker:
|
| 98 |
if: github.event_name == 'release'
|
| 99 |
runs-on: ubuntu-latest
|
LICENSE
CHANGED
|
@@ -186,8 +186,7 @@
|
|
| 186 |
same "printed page" as the copyright notice for easier
|
| 187 |
identification within third-party archives.
|
| 188 |
|
| 189 |
-
|
| 190 |
-
Portions Copyright 2017 Google Inc.
|
| 191 |
|
| 192 |
Licensed under the Apache License, Version 2.0 (the "License");
|
| 193 |
you may not use this file except in compliance with the License.
|
|
|
|
| 186 |
same "printed page" as the copyright notice for easier
|
| 187 |
identification within third-party archives.
|
| 188 |
|
| 189 |
+
Copyright (c) Microsoft Corporation.
|
|
|
|
| 190 |
|
| 191 |
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
you may not use this file except in compliance with the License.
|
package-lock.json
CHANGED
|
@@ -402,6 +402,10 @@
|
|
| 402 |
}
|
| 403 |
}
|
| 404 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 405 |
"node_modules/@playwright/mcp": {
|
| 406 |
"resolved": "packages/playwright-mcp",
|
| 407 |
"link": true
|
|
@@ -433,244 +437,6 @@
|
|
| 433 |
"dev": true,
|
| 434 |
"license": "MIT"
|
| 435 |
},
|
| 436 |
-
"node_modules/@rollup/rollup-android-arm-eabi": {
|
| 437 |
-
"version": "4.56.0",
|
| 438 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.56.0.tgz",
|
| 439 |
-
"integrity": "sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==",
|
| 440 |
-
"cpu": [
|
| 441 |
-
"arm"
|
| 442 |
-
],
|
| 443 |
-
"dev": true,
|
| 444 |
-
"license": "MIT",
|
| 445 |
-
"optional": true,
|
| 446 |
-
"os": [
|
| 447 |
-
"android"
|
| 448 |
-
]
|
| 449 |
-
},
|
| 450 |
-
"node_modules/@rollup/rollup-android-arm64": {
|
| 451 |
-
"version": "4.56.0",
|
| 452 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.56.0.tgz",
|
| 453 |
-
"integrity": "sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==",
|
| 454 |
-
"cpu": [
|
| 455 |
-
"arm64"
|
| 456 |
-
],
|
| 457 |
-
"dev": true,
|
| 458 |
-
"license": "MIT",
|
| 459 |
-
"optional": true,
|
| 460 |
-
"os": [
|
| 461 |
-
"android"
|
| 462 |
-
]
|
| 463 |
-
},
|
| 464 |
-
"node_modules/@rollup/rollup-darwin-arm64": {
|
| 465 |
-
"version": "4.56.0",
|
| 466 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.56.0.tgz",
|
| 467 |
-
"integrity": "sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==",
|
| 468 |
-
"cpu": [
|
| 469 |
-
"arm64"
|
| 470 |
-
],
|
| 471 |
-
"dev": true,
|
| 472 |
-
"license": "MIT",
|
| 473 |
-
"optional": true,
|
| 474 |
-
"os": [
|
| 475 |
-
"darwin"
|
| 476 |
-
]
|
| 477 |
-
},
|
| 478 |
-
"node_modules/@rollup/rollup-darwin-x64": {
|
| 479 |
-
"version": "4.56.0",
|
| 480 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.56.0.tgz",
|
| 481 |
-
"integrity": "sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==",
|
| 482 |
-
"cpu": [
|
| 483 |
-
"x64"
|
| 484 |
-
],
|
| 485 |
-
"dev": true,
|
| 486 |
-
"license": "MIT",
|
| 487 |
-
"optional": true,
|
| 488 |
-
"os": [
|
| 489 |
-
"darwin"
|
| 490 |
-
]
|
| 491 |
-
},
|
| 492 |
-
"node_modules/@rollup/rollup-freebsd-arm64": {
|
| 493 |
-
"version": "4.56.0",
|
| 494 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.56.0.tgz",
|
| 495 |
-
"integrity": "sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==",
|
| 496 |
-
"cpu": [
|
| 497 |
-
"arm64"
|
| 498 |
-
],
|
| 499 |
-
"dev": true,
|
| 500 |
-
"license": "MIT",
|
| 501 |
-
"optional": true,
|
| 502 |
-
"os": [
|
| 503 |
-
"freebsd"
|
| 504 |
-
]
|
| 505 |
-
},
|
| 506 |
-
"node_modules/@rollup/rollup-freebsd-x64": {
|
| 507 |
-
"version": "4.56.0",
|
| 508 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.56.0.tgz",
|
| 509 |
-
"integrity": "sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==",
|
| 510 |
-
"cpu": [
|
| 511 |
-
"x64"
|
| 512 |
-
],
|
| 513 |
-
"dev": true,
|
| 514 |
-
"license": "MIT",
|
| 515 |
-
"optional": true,
|
| 516 |
-
"os": [
|
| 517 |
-
"freebsd"
|
| 518 |
-
]
|
| 519 |
-
},
|
| 520 |
-
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
| 521 |
-
"version": "4.56.0",
|
| 522 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.56.0.tgz",
|
| 523 |
-
"integrity": "sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==",
|
| 524 |
-
"cpu": [
|
| 525 |
-
"arm"
|
| 526 |
-
],
|
| 527 |
-
"dev": true,
|
| 528 |
-
"license": "MIT",
|
| 529 |
-
"optional": true,
|
| 530 |
-
"os": [
|
| 531 |
-
"linux"
|
| 532 |
-
]
|
| 533 |
-
},
|
| 534 |
-
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
| 535 |
-
"version": "4.56.0",
|
| 536 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.56.0.tgz",
|
| 537 |
-
"integrity": "sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==",
|
| 538 |
-
"cpu": [
|
| 539 |
-
"arm"
|
| 540 |
-
],
|
| 541 |
-
"dev": true,
|
| 542 |
-
"license": "MIT",
|
| 543 |
-
"optional": true,
|
| 544 |
-
"os": [
|
| 545 |
-
"linux"
|
| 546 |
-
]
|
| 547 |
-
},
|
| 548 |
-
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
| 549 |
-
"version": "4.56.0",
|
| 550 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.56.0.tgz",
|
| 551 |
-
"integrity": "sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==",
|
| 552 |
-
"cpu": [
|
| 553 |
-
"arm64"
|
| 554 |
-
],
|
| 555 |
-
"dev": true,
|
| 556 |
-
"license": "MIT",
|
| 557 |
-
"optional": true,
|
| 558 |
-
"os": [
|
| 559 |
-
"linux"
|
| 560 |
-
]
|
| 561 |
-
},
|
| 562 |
-
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
| 563 |
-
"version": "4.56.0",
|
| 564 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.56.0.tgz",
|
| 565 |
-
"integrity": "sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==",
|
| 566 |
-
"cpu": [
|
| 567 |
-
"arm64"
|
| 568 |
-
],
|
| 569 |
-
"dev": true,
|
| 570 |
-
"license": "MIT",
|
| 571 |
-
"optional": true,
|
| 572 |
-
"os": [
|
| 573 |
-
"linux"
|
| 574 |
-
]
|
| 575 |
-
},
|
| 576 |
-
"node_modules/@rollup/rollup-linux-loong64-gnu": {
|
| 577 |
-
"version": "4.56.0",
|
| 578 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.56.0.tgz",
|
| 579 |
-
"integrity": "sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==",
|
| 580 |
-
"cpu": [
|
| 581 |
-
"loong64"
|
| 582 |
-
],
|
| 583 |
-
"dev": true,
|
| 584 |
-
"license": "MIT",
|
| 585 |
-
"optional": true,
|
| 586 |
-
"os": [
|
| 587 |
-
"linux"
|
| 588 |
-
]
|
| 589 |
-
},
|
| 590 |
-
"node_modules/@rollup/rollup-linux-loong64-musl": {
|
| 591 |
-
"version": "4.56.0",
|
| 592 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.56.0.tgz",
|
| 593 |
-
"integrity": "sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==",
|
| 594 |
-
"cpu": [
|
| 595 |
-
"loong64"
|
| 596 |
-
],
|
| 597 |
-
"dev": true,
|
| 598 |
-
"license": "MIT",
|
| 599 |
-
"optional": true,
|
| 600 |
-
"os": [
|
| 601 |
-
"linux"
|
| 602 |
-
]
|
| 603 |
-
},
|
| 604 |
-
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
|
| 605 |
-
"version": "4.56.0",
|
| 606 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.56.0.tgz",
|
| 607 |
-
"integrity": "sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==",
|
| 608 |
-
"cpu": [
|
| 609 |
-
"ppc64"
|
| 610 |
-
],
|
| 611 |
-
"dev": true,
|
| 612 |
-
"license": "MIT",
|
| 613 |
-
"optional": true,
|
| 614 |
-
"os": [
|
| 615 |
-
"linux"
|
| 616 |
-
]
|
| 617 |
-
},
|
| 618 |
-
"node_modules/@rollup/rollup-linux-ppc64-musl": {
|
| 619 |
-
"version": "4.56.0",
|
| 620 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.56.0.tgz",
|
| 621 |
-
"integrity": "sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==",
|
| 622 |
-
"cpu": [
|
| 623 |
-
"ppc64"
|
| 624 |
-
],
|
| 625 |
-
"dev": true,
|
| 626 |
-
"license": "MIT",
|
| 627 |
-
"optional": true,
|
| 628 |
-
"os": [
|
| 629 |
-
"linux"
|
| 630 |
-
]
|
| 631 |
-
},
|
| 632 |
-
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
| 633 |
-
"version": "4.56.0",
|
| 634 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.56.0.tgz",
|
| 635 |
-
"integrity": "sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==",
|
| 636 |
-
"cpu": [
|
| 637 |
-
"riscv64"
|
| 638 |
-
],
|
| 639 |
-
"dev": true,
|
| 640 |
-
"license": "MIT",
|
| 641 |
-
"optional": true,
|
| 642 |
-
"os": [
|
| 643 |
-
"linux"
|
| 644 |
-
]
|
| 645 |
-
},
|
| 646 |
-
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
| 647 |
-
"version": "4.56.0",
|
| 648 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.56.0.tgz",
|
| 649 |
-
"integrity": "sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==",
|
| 650 |
-
"cpu": [
|
| 651 |
-
"riscv64"
|
| 652 |
-
],
|
| 653 |
-
"dev": true,
|
| 654 |
-
"license": "MIT",
|
| 655 |
-
"optional": true,
|
| 656 |
-
"os": [
|
| 657 |
-
"linux"
|
| 658 |
-
]
|
| 659 |
-
},
|
| 660 |
-
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
| 661 |
-
"version": "4.56.0",
|
| 662 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.56.0.tgz",
|
| 663 |
-
"integrity": "sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==",
|
| 664 |
-
"cpu": [
|
| 665 |
-
"s390x"
|
| 666 |
-
],
|
| 667 |
-
"dev": true,
|
| 668 |
-
"license": "MIT",
|
| 669 |
-
"optional": true,
|
| 670 |
-
"os": [
|
| 671 |
-
"linux"
|
| 672 |
-
]
|
| 673 |
-
},
|
| 674 |
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
| 675 |
"version": "4.56.0",
|
| 676 |
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.56.0.tgz",
|
|
@@ -699,90 +465,6 @@
|
|
| 699 |
"linux"
|
| 700 |
]
|
| 701 |
},
|
| 702 |
-
"node_modules/@rollup/rollup-openbsd-x64": {
|
| 703 |
-
"version": "4.56.0",
|
| 704 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.56.0.tgz",
|
| 705 |
-
"integrity": "sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==",
|
| 706 |
-
"cpu": [
|
| 707 |
-
"x64"
|
| 708 |
-
],
|
| 709 |
-
"dev": true,
|
| 710 |
-
"license": "MIT",
|
| 711 |
-
"optional": true,
|
| 712 |
-
"os": [
|
| 713 |
-
"openbsd"
|
| 714 |
-
]
|
| 715 |
-
},
|
| 716 |
-
"node_modules/@rollup/rollup-openharmony-arm64": {
|
| 717 |
-
"version": "4.56.0",
|
| 718 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.56.0.tgz",
|
| 719 |
-
"integrity": "sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==",
|
| 720 |
-
"cpu": [
|
| 721 |
-
"arm64"
|
| 722 |
-
],
|
| 723 |
-
"dev": true,
|
| 724 |
-
"license": "MIT",
|
| 725 |
-
"optional": true,
|
| 726 |
-
"os": [
|
| 727 |
-
"openharmony"
|
| 728 |
-
]
|
| 729 |
-
},
|
| 730 |
-
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
| 731 |
-
"version": "4.56.0",
|
| 732 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.56.0.tgz",
|
| 733 |
-
"integrity": "sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==",
|
| 734 |
-
"cpu": [
|
| 735 |
-
"arm64"
|
| 736 |
-
],
|
| 737 |
-
"dev": true,
|
| 738 |
-
"license": "MIT",
|
| 739 |
-
"optional": true,
|
| 740 |
-
"os": [
|
| 741 |
-
"win32"
|
| 742 |
-
]
|
| 743 |
-
},
|
| 744 |
-
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
| 745 |
-
"version": "4.56.0",
|
| 746 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.56.0.tgz",
|
| 747 |
-
"integrity": "sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==",
|
| 748 |
-
"cpu": [
|
| 749 |
-
"ia32"
|
| 750 |
-
],
|
| 751 |
-
"dev": true,
|
| 752 |
-
"license": "MIT",
|
| 753 |
-
"optional": true,
|
| 754 |
-
"os": [
|
| 755 |
-
"win32"
|
| 756 |
-
]
|
| 757 |
-
},
|
| 758 |
-
"node_modules/@rollup/rollup-win32-x64-gnu": {
|
| 759 |
-
"version": "4.56.0",
|
| 760 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.56.0.tgz",
|
| 761 |
-
"integrity": "sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==",
|
| 762 |
-
"cpu": [
|
| 763 |
-
"x64"
|
| 764 |
-
],
|
| 765 |
-
"dev": true,
|
| 766 |
-
"license": "MIT",
|
| 767 |
-
"optional": true,
|
| 768 |
-
"os": [
|
| 769 |
-
"win32"
|
| 770 |
-
]
|
| 771 |
-
},
|
| 772 |
-
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
| 773 |
-
"version": "4.56.0",
|
| 774 |
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.56.0.tgz",
|
| 775 |
-
"integrity": "sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==",
|
| 776 |
-
"cpu": [
|
| 777 |
-
"x64"
|
| 778 |
-
],
|
| 779 |
-
"dev": true,
|
| 780 |
-
"license": "MIT",
|
| 781 |
-
"optional": true,
|
| 782 |
-
"os": [
|
| 783 |
-
"win32"
|
| 784 |
-
]
|
| 785 |
-
},
|
| 786 |
"node_modules/@types/babel__core": {
|
| 787 |
"version": "7.20.5",
|
| 788 |
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
|
|
@@ -1544,20 +1226,6 @@
|
|
| 1544 |
"node": ">= 0.8"
|
| 1545 |
}
|
| 1546 |
},
|
| 1547 |
-
"node_modules/fsevents": {
|
| 1548 |
-
"version": "2.3.2",
|
| 1549 |
-
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
| 1550 |
-
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
| 1551 |
-
"hasInstallScript": true,
|
| 1552 |
-
"license": "MIT",
|
| 1553 |
-
"optional": true,
|
| 1554 |
-
"os": [
|
| 1555 |
-
"darwin"
|
| 1556 |
-
],
|
| 1557 |
-
"engines": {
|
| 1558 |
-
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
| 1559 |
-
}
|
| 1560 |
-
},
|
| 1561 |
"node_modules/function-bind": {
|
| 1562 |
"version": "1.1.2",
|
| 1563 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
@@ -2823,407 +2491,33 @@
|
|
| 2823 |
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
|
| 2824 |
}
|
| 2825 |
},
|
| 2826 |
-
"node_modules/vite/node_modules/@esbuild/
|
| 2827 |
"version": "0.21.5",
|
| 2828 |
-
"resolved": "https://registry.npmjs.org/@esbuild/
|
| 2829 |
-
"integrity": "sha512-
|
| 2830 |
"cpu": [
|
| 2831 |
-
"
|
| 2832 |
],
|
| 2833 |
"dev": true,
|
| 2834 |
"license": "MIT",
|
| 2835 |
"optional": true,
|
| 2836 |
"os": [
|
| 2837 |
-
"
|
| 2838 |
],
|
| 2839 |
"engines": {
|
| 2840 |
"node": ">=12"
|
| 2841 |
}
|
| 2842 |
},
|
| 2843 |
-
"node_modules/vite/node_modules/
|
| 2844 |
"version": "0.21.5",
|
| 2845 |
-
"resolved": "https://registry.npmjs.org/
|
| 2846 |
-
"integrity": "sha512-
|
| 2847 |
-
"cpu": [
|
| 2848 |
-
"arm"
|
| 2849 |
-
],
|
| 2850 |
"dev": true,
|
|
|
|
| 2851 |
"license": "MIT",
|
| 2852 |
-
"
|
| 2853 |
-
|
| 2854 |
-
|
| 2855 |
-
],
|
| 2856 |
-
"engines": {
|
| 2857 |
-
"node": ">=12"
|
| 2858 |
-
}
|
| 2859 |
-
},
|
| 2860 |
-
"node_modules/vite/node_modules/@esbuild/android-arm64": {
|
| 2861 |
-
"version": "0.21.5",
|
| 2862 |
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
|
| 2863 |
-
"integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
|
| 2864 |
-
"cpu": [
|
| 2865 |
-
"arm64"
|
| 2866 |
-
],
|
| 2867 |
-
"dev": true,
|
| 2868 |
-
"license": "MIT",
|
| 2869 |
-
"optional": true,
|
| 2870 |
-
"os": [
|
| 2871 |
-
"android"
|
| 2872 |
-
],
|
| 2873 |
-
"engines": {
|
| 2874 |
-
"node": ">=12"
|
| 2875 |
-
}
|
| 2876 |
-
},
|
| 2877 |
-
"node_modules/vite/node_modules/@esbuild/android-x64": {
|
| 2878 |
-
"version": "0.21.5",
|
| 2879 |
-
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
|
| 2880 |
-
"integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
|
| 2881 |
-
"cpu": [
|
| 2882 |
-
"x64"
|
| 2883 |
-
],
|
| 2884 |
-
"dev": true,
|
| 2885 |
-
"license": "MIT",
|
| 2886 |
-
"optional": true,
|
| 2887 |
-
"os": [
|
| 2888 |
-
"android"
|
| 2889 |
-
],
|
| 2890 |
-
"engines": {
|
| 2891 |
-
"node": ">=12"
|
| 2892 |
-
}
|
| 2893 |
-
},
|
| 2894 |
-
"node_modules/vite/node_modules/@esbuild/darwin-arm64": {
|
| 2895 |
-
"version": "0.21.5",
|
| 2896 |
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
|
| 2897 |
-
"integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
|
| 2898 |
-
"cpu": [
|
| 2899 |
-
"arm64"
|
| 2900 |
-
],
|
| 2901 |
-
"dev": true,
|
| 2902 |
-
"license": "MIT",
|
| 2903 |
-
"optional": true,
|
| 2904 |
-
"os": [
|
| 2905 |
-
"darwin"
|
| 2906 |
-
],
|
| 2907 |
-
"engines": {
|
| 2908 |
-
"node": ">=12"
|
| 2909 |
-
}
|
| 2910 |
-
},
|
| 2911 |
-
"node_modules/vite/node_modules/@esbuild/darwin-x64": {
|
| 2912 |
-
"version": "0.21.5",
|
| 2913 |
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
|
| 2914 |
-
"integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
|
| 2915 |
-
"cpu": [
|
| 2916 |
-
"x64"
|
| 2917 |
-
],
|
| 2918 |
-
"dev": true,
|
| 2919 |
-
"license": "MIT",
|
| 2920 |
-
"optional": true,
|
| 2921 |
-
"os": [
|
| 2922 |
-
"darwin"
|
| 2923 |
-
],
|
| 2924 |
-
"engines": {
|
| 2925 |
-
"node": ">=12"
|
| 2926 |
-
}
|
| 2927 |
-
},
|
| 2928 |
-
"node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
|
| 2929 |
-
"version": "0.21.5",
|
| 2930 |
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
|
| 2931 |
-
"integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
|
| 2932 |
-
"cpu": [
|
| 2933 |
-
"arm64"
|
| 2934 |
-
],
|
| 2935 |
-
"dev": true,
|
| 2936 |
-
"license": "MIT",
|
| 2937 |
-
"optional": true,
|
| 2938 |
-
"os": [
|
| 2939 |
-
"freebsd"
|
| 2940 |
-
],
|
| 2941 |
-
"engines": {
|
| 2942 |
-
"node": ">=12"
|
| 2943 |
-
}
|
| 2944 |
-
},
|
| 2945 |
-
"node_modules/vite/node_modules/@esbuild/freebsd-x64": {
|
| 2946 |
-
"version": "0.21.5",
|
| 2947 |
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
|
| 2948 |
-
"integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
|
| 2949 |
-
"cpu": [
|
| 2950 |
-
"x64"
|
| 2951 |
-
],
|
| 2952 |
-
"dev": true,
|
| 2953 |
-
"license": "MIT",
|
| 2954 |
-
"optional": true,
|
| 2955 |
-
"os": [
|
| 2956 |
-
"freebsd"
|
| 2957 |
-
],
|
| 2958 |
-
"engines": {
|
| 2959 |
-
"node": ">=12"
|
| 2960 |
-
}
|
| 2961 |
-
},
|
| 2962 |
-
"node_modules/vite/node_modules/@esbuild/linux-arm": {
|
| 2963 |
-
"version": "0.21.5",
|
| 2964 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
|
| 2965 |
-
"integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
|
| 2966 |
-
"cpu": [
|
| 2967 |
-
"arm"
|
| 2968 |
-
],
|
| 2969 |
-
"dev": true,
|
| 2970 |
-
"license": "MIT",
|
| 2971 |
-
"optional": true,
|
| 2972 |
-
"os": [
|
| 2973 |
-
"linux"
|
| 2974 |
-
],
|
| 2975 |
-
"engines": {
|
| 2976 |
-
"node": ">=12"
|
| 2977 |
-
}
|
| 2978 |
-
},
|
| 2979 |
-
"node_modules/vite/node_modules/@esbuild/linux-arm64": {
|
| 2980 |
-
"version": "0.21.5",
|
| 2981 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
|
| 2982 |
-
"integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
|
| 2983 |
-
"cpu": [
|
| 2984 |
-
"arm64"
|
| 2985 |
-
],
|
| 2986 |
-
"dev": true,
|
| 2987 |
-
"license": "MIT",
|
| 2988 |
-
"optional": true,
|
| 2989 |
-
"os": [
|
| 2990 |
-
"linux"
|
| 2991 |
-
],
|
| 2992 |
-
"engines": {
|
| 2993 |
-
"node": ">=12"
|
| 2994 |
-
}
|
| 2995 |
-
},
|
| 2996 |
-
"node_modules/vite/node_modules/@esbuild/linux-ia32": {
|
| 2997 |
-
"version": "0.21.5",
|
| 2998 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
|
| 2999 |
-
"integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
|
| 3000 |
-
"cpu": [
|
| 3001 |
-
"ia32"
|
| 3002 |
-
],
|
| 3003 |
-
"dev": true,
|
| 3004 |
-
"license": "MIT",
|
| 3005 |
-
"optional": true,
|
| 3006 |
-
"os": [
|
| 3007 |
-
"linux"
|
| 3008 |
-
],
|
| 3009 |
-
"engines": {
|
| 3010 |
-
"node": ">=12"
|
| 3011 |
-
}
|
| 3012 |
-
},
|
| 3013 |
-
"node_modules/vite/node_modules/@esbuild/linux-loong64": {
|
| 3014 |
-
"version": "0.21.5",
|
| 3015 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
|
| 3016 |
-
"integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
|
| 3017 |
-
"cpu": [
|
| 3018 |
-
"loong64"
|
| 3019 |
-
],
|
| 3020 |
-
"dev": true,
|
| 3021 |
-
"license": "MIT",
|
| 3022 |
-
"optional": true,
|
| 3023 |
-
"os": [
|
| 3024 |
-
"linux"
|
| 3025 |
-
],
|
| 3026 |
-
"engines": {
|
| 3027 |
-
"node": ">=12"
|
| 3028 |
-
}
|
| 3029 |
-
},
|
| 3030 |
-
"node_modules/vite/node_modules/@esbuild/linux-mips64el": {
|
| 3031 |
-
"version": "0.21.5",
|
| 3032 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
|
| 3033 |
-
"integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
|
| 3034 |
-
"cpu": [
|
| 3035 |
-
"mips64el"
|
| 3036 |
-
],
|
| 3037 |
-
"dev": true,
|
| 3038 |
-
"license": "MIT",
|
| 3039 |
-
"optional": true,
|
| 3040 |
-
"os": [
|
| 3041 |
-
"linux"
|
| 3042 |
-
],
|
| 3043 |
-
"engines": {
|
| 3044 |
-
"node": ">=12"
|
| 3045 |
-
}
|
| 3046 |
-
},
|
| 3047 |
-
"node_modules/vite/node_modules/@esbuild/linux-ppc64": {
|
| 3048 |
-
"version": "0.21.5",
|
| 3049 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
|
| 3050 |
-
"integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
|
| 3051 |
-
"cpu": [
|
| 3052 |
-
"ppc64"
|
| 3053 |
-
],
|
| 3054 |
-
"dev": true,
|
| 3055 |
-
"license": "MIT",
|
| 3056 |
-
"optional": true,
|
| 3057 |
-
"os": [
|
| 3058 |
-
"linux"
|
| 3059 |
-
],
|
| 3060 |
-
"engines": {
|
| 3061 |
-
"node": ">=12"
|
| 3062 |
-
}
|
| 3063 |
-
},
|
| 3064 |
-
"node_modules/vite/node_modules/@esbuild/linux-riscv64": {
|
| 3065 |
-
"version": "0.21.5",
|
| 3066 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
|
| 3067 |
-
"integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
|
| 3068 |
-
"cpu": [
|
| 3069 |
-
"riscv64"
|
| 3070 |
-
],
|
| 3071 |
-
"dev": true,
|
| 3072 |
-
"license": "MIT",
|
| 3073 |
-
"optional": true,
|
| 3074 |
-
"os": [
|
| 3075 |
-
"linux"
|
| 3076 |
-
],
|
| 3077 |
-
"engines": {
|
| 3078 |
-
"node": ">=12"
|
| 3079 |
-
}
|
| 3080 |
-
},
|
| 3081 |
-
"node_modules/vite/node_modules/@esbuild/linux-s390x": {
|
| 3082 |
-
"version": "0.21.5",
|
| 3083 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
|
| 3084 |
-
"integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
|
| 3085 |
-
"cpu": [
|
| 3086 |
-
"s390x"
|
| 3087 |
-
],
|
| 3088 |
-
"dev": true,
|
| 3089 |
-
"license": "MIT",
|
| 3090 |
-
"optional": true,
|
| 3091 |
-
"os": [
|
| 3092 |
-
"linux"
|
| 3093 |
-
],
|
| 3094 |
-
"engines": {
|
| 3095 |
-
"node": ">=12"
|
| 3096 |
-
}
|
| 3097 |
-
},
|
| 3098 |
-
"node_modules/vite/node_modules/@esbuild/linux-x64": {
|
| 3099 |
-
"version": "0.21.5",
|
| 3100 |
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
|
| 3101 |
-
"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
|
| 3102 |
-
"cpu": [
|
| 3103 |
-
"x64"
|
| 3104 |
-
],
|
| 3105 |
-
"dev": true,
|
| 3106 |
-
"license": "MIT",
|
| 3107 |
-
"optional": true,
|
| 3108 |
-
"os": [
|
| 3109 |
-
"linux"
|
| 3110 |
-
],
|
| 3111 |
-
"engines": {
|
| 3112 |
-
"node": ">=12"
|
| 3113 |
-
}
|
| 3114 |
-
},
|
| 3115 |
-
"node_modules/vite/node_modules/@esbuild/netbsd-x64": {
|
| 3116 |
-
"version": "0.21.5",
|
| 3117 |
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
|
| 3118 |
-
"integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
|
| 3119 |
-
"cpu": [
|
| 3120 |
-
"x64"
|
| 3121 |
-
],
|
| 3122 |
-
"dev": true,
|
| 3123 |
-
"license": "MIT",
|
| 3124 |
-
"optional": true,
|
| 3125 |
-
"os": [
|
| 3126 |
-
"netbsd"
|
| 3127 |
-
],
|
| 3128 |
-
"engines": {
|
| 3129 |
-
"node": ">=12"
|
| 3130 |
-
}
|
| 3131 |
-
},
|
| 3132 |
-
"node_modules/vite/node_modules/@esbuild/openbsd-x64": {
|
| 3133 |
-
"version": "0.21.5",
|
| 3134 |
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
|
| 3135 |
-
"integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
|
| 3136 |
-
"cpu": [
|
| 3137 |
-
"x64"
|
| 3138 |
-
],
|
| 3139 |
-
"dev": true,
|
| 3140 |
-
"license": "MIT",
|
| 3141 |
-
"optional": true,
|
| 3142 |
-
"os": [
|
| 3143 |
-
"openbsd"
|
| 3144 |
-
],
|
| 3145 |
-
"engines": {
|
| 3146 |
-
"node": ">=12"
|
| 3147 |
-
}
|
| 3148 |
-
},
|
| 3149 |
-
"node_modules/vite/node_modules/@esbuild/sunos-x64": {
|
| 3150 |
-
"version": "0.21.5",
|
| 3151 |
-
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
|
| 3152 |
-
"integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
|
| 3153 |
-
"cpu": [
|
| 3154 |
-
"x64"
|
| 3155 |
-
],
|
| 3156 |
-
"dev": true,
|
| 3157 |
-
"license": "MIT",
|
| 3158 |
-
"optional": true,
|
| 3159 |
-
"os": [
|
| 3160 |
-
"sunos"
|
| 3161 |
-
],
|
| 3162 |
-
"engines": {
|
| 3163 |
-
"node": ">=12"
|
| 3164 |
-
}
|
| 3165 |
-
},
|
| 3166 |
-
"node_modules/vite/node_modules/@esbuild/win32-arm64": {
|
| 3167 |
-
"version": "0.21.5",
|
| 3168 |
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
|
| 3169 |
-
"integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
|
| 3170 |
-
"cpu": [
|
| 3171 |
-
"arm64"
|
| 3172 |
-
],
|
| 3173 |
-
"dev": true,
|
| 3174 |
-
"license": "MIT",
|
| 3175 |
-
"optional": true,
|
| 3176 |
-
"os": [
|
| 3177 |
-
"win32"
|
| 3178 |
-
],
|
| 3179 |
-
"engines": {
|
| 3180 |
-
"node": ">=12"
|
| 3181 |
-
}
|
| 3182 |
-
},
|
| 3183 |
-
"node_modules/vite/node_modules/@esbuild/win32-ia32": {
|
| 3184 |
-
"version": "0.21.5",
|
| 3185 |
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
|
| 3186 |
-
"integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
|
| 3187 |
-
"cpu": [
|
| 3188 |
-
"ia32"
|
| 3189 |
-
],
|
| 3190 |
-
"dev": true,
|
| 3191 |
-
"license": "MIT",
|
| 3192 |
-
"optional": true,
|
| 3193 |
-
"os": [
|
| 3194 |
-
"win32"
|
| 3195 |
-
],
|
| 3196 |
-
"engines": {
|
| 3197 |
-
"node": ">=12"
|
| 3198 |
-
}
|
| 3199 |
-
},
|
| 3200 |
-
"node_modules/vite/node_modules/@esbuild/win32-x64": {
|
| 3201 |
-
"version": "0.21.5",
|
| 3202 |
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
|
| 3203 |
-
"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
|
| 3204 |
-
"cpu": [
|
| 3205 |
-
"x64"
|
| 3206 |
-
],
|
| 3207 |
-
"dev": true,
|
| 3208 |
-
"license": "MIT",
|
| 3209 |
-
"optional": true,
|
| 3210 |
-
"os": [
|
| 3211 |
-
"win32"
|
| 3212 |
-
],
|
| 3213 |
-
"engines": {
|
| 3214 |
-
"node": ">=12"
|
| 3215 |
-
}
|
| 3216 |
-
},
|
| 3217 |
-
"node_modules/vite/node_modules/esbuild": {
|
| 3218 |
-
"version": "0.21.5",
|
| 3219 |
-
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
| 3220 |
-
"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
|
| 3221 |
-
"dev": true,
|
| 3222 |
-
"hasInstallScript": true,
|
| 3223 |
-
"license": "MIT",
|
| 3224 |
-
"bin": {
|
| 3225 |
-
"esbuild": "bin/esbuild"
|
| 3226 |
-
},
|
| 3227 |
"engines": {
|
| 3228 |
"node": ">=12"
|
| 3229 |
},
|
|
@@ -3253,21 +2547,6 @@
|
|
| 3253 |
"@esbuild/win32-x64": "0.21.5"
|
| 3254 |
}
|
| 3255 |
},
|
| 3256 |
-
"node_modules/vite/node_modules/fsevents": {
|
| 3257 |
-
"version": "2.3.3",
|
| 3258 |
-
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
| 3259 |
-
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
| 3260 |
-
"dev": true,
|
| 3261 |
-
"hasInstallScript": true,
|
| 3262 |
-
"license": "MIT",
|
| 3263 |
-
"optional": true,
|
| 3264 |
-
"os": [
|
| 3265 |
-
"darwin"
|
| 3266 |
-
],
|
| 3267 |
-
"engines": {
|
| 3268 |
-
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
| 3269 |
-
}
|
| 3270 |
-
},
|
| 3271 |
"node_modules/which": {
|
| 3272 |
"version": "2.0.2",
|
| 3273 |
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
|
@@ -3339,16 +2618,15 @@
|
|
| 3339 |
},
|
| 3340 |
"packages/playwright-cli": {
|
| 3341 |
"name": "@playwright/cli",
|
| 3342 |
-
"version": "0.0.
|
| 3343 |
-
"extraneous": true,
|
| 3344 |
"license": "Apache-2.0",
|
| 3345 |
-
"
|
| 3346 |
-
"
|
| 3347 |
-
"
|
| 3348 |
-
"
|
| 3349 |
-
|
| 3350 |
-
|
| 3351 |
-
"
|
| 3352 |
},
|
| 3353 |
"engines": {
|
| 3354 |
"node": ">=18"
|
|
@@ -3359,13 +2637,11 @@
|
|
| 3359 |
"version": "0.0.60",
|
| 3360 |
"license": "Apache-2.0",
|
| 3361 |
"dependencies": {
|
| 3362 |
-
"minimist": "^1.2.5",
|
| 3363 |
"playwright": "1.59.0-alpha-1769452054000",
|
| 3364 |
"playwright-core": "1.59.0-alpha-1769452054000"
|
| 3365 |
},
|
| 3366 |
"bin": {
|
| 3367 |
-
"mcp": "cli.js"
|
| 3368 |
-
"playwright-cli": "playwright-cli.js"
|
| 3369 |
},
|
| 3370 |
"engines": {
|
| 3371 |
"node": ">=18"
|
|
|
|
| 402 |
}
|
| 403 |
}
|
| 404 |
},
|
| 405 |
+
"node_modules/@playwright/cli": {
|
| 406 |
+
"resolved": "packages/playwright-cli",
|
| 407 |
+
"link": true
|
| 408 |
+
},
|
| 409 |
"node_modules/@playwright/mcp": {
|
| 410 |
"resolved": "packages/playwright-mcp",
|
| 411 |
"link": true
|
|
|
|
| 437 |
"dev": true,
|
| 438 |
"license": "MIT"
|
| 439 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 440 |
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
| 441 |
"version": "4.56.0",
|
| 442 |
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.56.0.tgz",
|
|
|
|
| 465 |
"linux"
|
| 466 |
]
|
| 467 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 468 |
"node_modules/@types/babel__core": {
|
| 469 |
"version": "7.20.5",
|
| 470 |
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
|
|
|
|
| 1226 |
"node": ">= 0.8"
|
| 1227 |
}
|
| 1228 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1229 |
"node_modules/function-bind": {
|
| 1230 |
"version": "1.1.2",
|
| 1231 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
|
|
| 2491 |
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
|
| 2492 |
}
|
| 2493 |
},
|
| 2494 |
+
"node_modules/vite/node_modules/@esbuild/linux-x64": {
|
| 2495 |
"version": "0.21.5",
|
| 2496 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
|
| 2497 |
+
"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
|
| 2498 |
"cpu": [
|
| 2499 |
+
"x64"
|
| 2500 |
],
|
| 2501 |
"dev": true,
|
| 2502 |
"license": "MIT",
|
| 2503 |
"optional": true,
|
| 2504 |
"os": [
|
| 2505 |
+
"linux"
|
| 2506 |
],
|
| 2507 |
"engines": {
|
| 2508 |
"node": ">=12"
|
| 2509 |
}
|
| 2510 |
},
|
| 2511 |
+
"node_modules/vite/node_modules/esbuild": {
|
| 2512 |
"version": "0.21.5",
|
| 2513 |
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
| 2514 |
+
"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
|
|
|
|
|
|
|
|
|
|
| 2515 |
"dev": true,
|
| 2516 |
+
"hasInstallScript": true,
|
| 2517 |
"license": "MIT",
|
| 2518 |
+
"bin": {
|
| 2519 |
+
"esbuild": "bin/esbuild"
|
| 2520 |
+
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2521 |
"engines": {
|
| 2522 |
"node": ">=12"
|
| 2523 |
},
|
|
|
|
| 2547 |
"@esbuild/win32-x64": "0.21.5"
|
| 2548 |
}
|
| 2549 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2550 |
"node_modules/which": {
|
| 2551 |
"version": "2.0.2",
|
| 2552 |
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
|
|
|
| 2618 |
},
|
| 2619 |
"packages/playwright-cli": {
|
| 2620 |
"name": "@playwright/cli",
|
| 2621 |
+
"version": "0.0.60",
|
|
|
|
| 2622 |
"license": "Apache-2.0",
|
| 2623 |
+
"dependencies": {
|
| 2624 |
+
"minimist": "^1.2.5",
|
| 2625 |
+
"playwright": "1.59.0-alpha-1769452054000",
|
| 2626 |
+
"playwright-core": "1.59.0-alpha-1769452054000"
|
| 2627 |
+
},
|
| 2628 |
+
"bin": {
|
| 2629 |
+
"playwright-cli": "playwright-cli.js"
|
| 2630 |
},
|
| 2631 |
"engines": {
|
| 2632 |
"node": ">=18"
|
|
|
|
| 2637 |
"version": "0.0.60",
|
| 2638 |
"license": "Apache-2.0",
|
| 2639 |
"dependencies": {
|
|
|
|
| 2640 |
"playwright": "1.59.0-alpha-1769452054000",
|
| 2641 |
"playwright-core": "1.59.0-alpha-1769452054000"
|
| 2642 |
},
|
| 2643 |
"bin": {
|
| 2644 |
+
"playwright-mcp": "cli.js"
|
|
|
|
| 2645 |
},
|
| 2646 |
"engines": {
|
| 2647 |
"node": ">=18"
|
packages/playwright-cli/.gitignore
ADDED
|
File without changes
|
packages/playwright-cli/.npmignore
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
**/*
|
| 2 |
+
!README.md
|
| 3 |
+
!LICENSE
|
| 4 |
+
!playwright-cli.js
|
packages/playwright-cli/LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Apache License
|
| 2 |
+
Version 2.0, January 2004
|
| 3 |
+
http://www.apache.org/licenses/
|
| 4 |
+
|
| 5 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 6 |
+
|
| 7 |
+
1. Definitions.
|
| 8 |
+
|
| 9 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 10 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 11 |
+
|
| 12 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 13 |
+
the copyright owner that is granting the License.
|
| 14 |
+
|
| 15 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 16 |
+
other entities that control, are controlled by, or are under common
|
| 17 |
+
control with that entity. For the purposes of this definition,
|
| 18 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 19 |
+
direction or management of such entity, whether by contract or
|
| 20 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 21 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 22 |
+
|
| 23 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 24 |
+
exercising permissions granted by this License.
|
| 25 |
+
|
| 26 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 27 |
+
including but not limited to software source code, documentation
|
| 28 |
+
source, and configuration files.
|
| 29 |
+
|
| 30 |
+
"Object" form shall mean any form resulting from mechanical
|
| 31 |
+
transformation or translation of a Source form, including but
|
| 32 |
+
not limited to compiled object code, generated documentation,
|
| 33 |
+
and conversions to other media types.
|
| 34 |
+
|
| 35 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 36 |
+
Object form, made available under the License, as indicated by a
|
| 37 |
+
copyright notice that is included in or attached to the work
|
| 38 |
+
(an example is provided in the Appendix below).
|
| 39 |
+
|
| 40 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 41 |
+
form, that is based on (or derived from) the Work and for which the
|
| 42 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 43 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 44 |
+
of this License, Derivative Works shall not include works that remain
|
| 45 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 46 |
+
the Work and Derivative Works thereof.
|
| 47 |
+
|
| 48 |
+
"Contribution" shall mean any work of authorship, including
|
| 49 |
+
the original version of the Work and any modifications or additions
|
| 50 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 51 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 52 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 53 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 54 |
+
means any form of electronic, verbal, or written communication sent
|
| 55 |
+
to the Licensor or its representatives, including but not limited to
|
| 56 |
+
communication on electronic mailing lists, source code control systems,
|
| 57 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 58 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 59 |
+
excluding communication that is conspicuously marked or otherwise
|
| 60 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 61 |
+
|
| 62 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 63 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 64 |
+
subsequently incorporated within the Work.
|
| 65 |
+
|
| 66 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 67 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 68 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 69 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 70 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 71 |
+
Work and such Derivative Works in Source or Object form.
|
| 72 |
+
|
| 73 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 74 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 75 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 76 |
+
(except as stated in this section) patent license to make, have made,
|
| 77 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 78 |
+
where such license applies only to those patent claims licensable
|
| 79 |
+
by such Contributor that are necessarily infringed by their
|
| 80 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 81 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 82 |
+
institute patent litigation against any entity (including a
|
| 83 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 84 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 85 |
+
or contributory patent infringement, then any patent licenses
|
| 86 |
+
granted to You under this License for that Work shall terminate
|
| 87 |
+
as of the date such litigation is filed.
|
| 88 |
+
|
| 89 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 90 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 91 |
+
modifications, and in Source or Object form, provided that You
|
| 92 |
+
meet the following conditions:
|
| 93 |
+
|
| 94 |
+
(a) You must give any other recipients of the Work or
|
| 95 |
+
Derivative Works a copy of this License; and
|
| 96 |
+
|
| 97 |
+
(b) You must cause any modified files to carry prominent notices
|
| 98 |
+
stating that You changed the files; and
|
| 99 |
+
|
| 100 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 101 |
+
that You distribute, all copyright, patent, trademark, and
|
| 102 |
+
attribution notices from the Source form of the Work,
|
| 103 |
+
excluding those notices that do not pertain to any part of
|
| 104 |
+
the Derivative Works; and
|
| 105 |
+
|
| 106 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 107 |
+
distribution, then any Derivative Works that You distribute must
|
| 108 |
+
include a readable copy of the attribution notices contained
|
| 109 |
+
within such NOTICE file, excluding those notices that do not
|
| 110 |
+
pertain to any part of the Derivative Works, in at least one
|
| 111 |
+
of the following places: within a NOTICE text file distributed
|
| 112 |
+
as part of the Derivative Works; within the Source form or
|
| 113 |
+
documentation, if provided along with the Derivative Works; or,
|
| 114 |
+
within a display generated by the Derivative Works, if and
|
| 115 |
+
wherever such third-party notices normally appear. The contents
|
| 116 |
+
of the NOTICE file are for informational purposes only and
|
| 117 |
+
do not modify the License. You may add Your own attribution
|
| 118 |
+
notices within Derivative Works that You distribute, alongside
|
| 119 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 120 |
+
that such additional attribution notices cannot be construed
|
| 121 |
+
as modifying the License.
|
| 122 |
+
|
| 123 |
+
You may add Your own copyright statement to Your modifications and
|
| 124 |
+
may provide additional or different license terms and conditions
|
| 125 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 126 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 127 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 128 |
+
the conditions stated in this License.
|
| 129 |
+
|
| 130 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 131 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 132 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 133 |
+
this License, without any additional terms or conditions.
|
| 134 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 135 |
+
the terms of any separate license agreement you may have executed
|
| 136 |
+
with Licensor regarding such Contributions.
|
| 137 |
+
|
| 138 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 139 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 140 |
+
except as required for reasonable and customary use in describing the
|
| 141 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 142 |
+
|
| 143 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 144 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 145 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 146 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 147 |
+
implied, including, without limitation, any warranties or conditions
|
| 148 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 149 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 150 |
+
appropriateness of using or redistributing the Work and assume any
|
| 151 |
+
risks associated with Your exercise of permissions under this License.
|
| 152 |
+
|
| 153 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 154 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 155 |
+
unless required by applicable law (such as deliberate and grossly
|
| 156 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 157 |
+
liable to You for damages, including any direct, indirect, special,
|
| 158 |
+
incidental, or consequential damages of any character arising as a
|
| 159 |
+
result of this License or out of the use or inability to use the
|
| 160 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 161 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 162 |
+
other commercial damages or losses), even if such Contributor
|
| 163 |
+
has been advised of the possibility of such damages.
|
| 164 |
+
|
| 165 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 166 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 167 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 168 |
+
or other liability obligations and/or rights consistent with this
|
| 169 |
+
License. However, in accepting such obligations, You may act only
|
| 170 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 171 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 172 |
+
defend, and hold each Contributor harmless for any liability
|
| 173 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 174 |
+
of your accepting any such warranty or additional liability.
|
| 175 |
+
|
| 176 |
+
END OF TERMS AND CONDITIONS
|
| 177 |
+
|
| 178 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 179 |
+
|
| 180 |
+
To apply the Apache License to your work, attach the following
|
| 181 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 182 |
+
replaced with your own identifying information. (Don't include
|
| 183 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 184 |
+
comment syntax for the file format. We also recommend that a
|
| 185 |
+
file or class name and description of purpose be included on the
|
| 186 |
+
same "printed page" as the copyright notice for easier
|
| 187 |
+
identification within third-party archives.
|
| 188 |
+
|
| 189 |
+
Copyright (c) Microsoft Corporation.
|
| 190 |
+
|
| 191 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
+
you may not use this file except in compliance with the License.
|
| 193 |
+
You may obtain a copy of the License at
|
| 194 |
+
|
| 195 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 196 |
+
|
| 197 |
+
Unless required by applicable law or agreed to in writing, software
|
| 198 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 199 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 200 |
+
See the License for the specific language governing permissions and
|
| 201 |
+
limitations under the License.
|
packages/playwright-cli/README.md
ADDED
|
@@ -0,0 +1,391 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# playwright-cli
|
| 2 |
+
|
| 3 |
+
Playwright CLI with SKILLS
|
| 4 |
+
|
| 5 |
+
### Playwright CLI vs Playwright MCP
|
| 6 |
+
|
| 7 |
+
This package provides CLI interface into Playwright. If you are using **coding agents**, that is the best fit.
|
| 8 |
+
|
| 9 |
+
- **CLI**: Modern **coding agents** increasingly favor CLI–based workflows exposed as SKILLs over MCP because CLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model context, allowing agents to act through concise, purpose-built commands. This makes CLI + SKILLs better suited for high-throughput coding agents that must balance browser automation with large codebases, tests, and reasoning within limited context windows.
|
| 10 |
+
|
| 11 |
+
- **MCP**: MCP remains relevant for specialized agentic loops that benefit from persistent state, rich introspection, and iterative reasoning over page structure, such as exploratory automation, self-healing tests, or long-running autonomous workflows where maintaining continuous browser context outweighs token cost concerns. Learn more about [Playwright MCP](https://github.com/microsoft/playwright-mcp).
|
| 12 |
+
|
| 13 |
+
### Key Features
|
| 14 |
+
|
| 15 |
+
- **Token-efficient**. Does not force page data into LLM.
|
| 16 |
+
|
| 17 |
+
### Requirements
|
| 18 |
+
- Node.js 18 or newer
|
| 19 |
+
- Claude Code, GitHub Copilot, or any other coding agent.
|
| 20 |
+
|
| 21 |
+
## Getting Started
|
| 22 |
+
|
| 23 |
+
## Installation
|
| 24 |
+
|
| 25 |
+
```bash
|
| 26 |
+
npm install -g @playwright/cli@latest
|
| 27 |
+
playwright-cli --help
|
| 28 |
+
```
|
| 29 |
+
|
| 30 |
+
## Demo
|
| 31 |
+
|
| 32 |
+
```
|
| 33 |
+
> Use playwright skills to test https://demo.playwright.dev/todomvc/.
|
| 34 |
+
Take screenshots for all successful and failing scenarios.
|
| 35 |
+
```
|
| 36 |
+
|
| 37 |
+
Your agent will be running commands, but it does not mean you can't play with it manually:
|
| 38 |
+
|
| 39 |
+
```
|
| 40 |
+
playwright-cli open https://demo.playwright.dev/todomvc/ --headed
|
| 41 |
+
playwright-cli type "Buy groceries"
|
| 42 |
+
playwright-cli press Enter
|
| 43 |
+
playwright-cli type "Water flowers"
|
| 44 |
+
playwright-cli press Enter
|
| 45 |
+
playwright-cli check e21
|
| 46 |
+
playwright-cli check e35
|
| 47 |
+
playwright-cli screenshot
|
| 48 |
+
```
|
| 49 |
+
|
| 50 |
+
### Skills-less operation
|
| 51 |
+
|
| 52 |
+
Point your agent at the CLI and let it cook. It'll read the skill off `playwright-cli --help` on its own:
|
| 53 |
+
|
| 54 |
+
```
|
| 55 |
+
Test the "add todo" flow on https://demo.playwright.dev/todomvc using playwright-cli.
|
| 56 |
+
Check playwright-cli --help for available commands.
|
| 57 |
+
```
|
| 58 |
+
|
| 59 |
+
### Installing skills
|
| 60 |
+
|
| 61 |
+
Claude Code, GitHub copilot and others will let you install the Playwright skills into the agentic loop.
|
| 62 |
+
|
| 63 |
+
#### plugin (recommended)
|
| 64 |
+
```bash
|
| 65 |
+
/plugin marketplace add microsoft/playwright-cli
|
| 66 |
+
/plugin install playwright-cli
|
| 67 |
+
```
|
| 68 |
+
|
| 69 |
+
#### manual
|
| 70 |
+
|
| 71 |
+
```bash
|
| 72 |
+
mkdir -p .claude/skills/playwright-cli
|
| 73 |
+
curl -o .claude/skills/playwright-cli/SKILL.md \
|
| 74 |
+
https://raw.githubusercontent.com/microsoft/playwright-cli/main/skills/playwright-cli/SKILL.md
|
| 75 |
+
```
|
| 76 |
+
|
| 77 |
+
## Headed operation
|
| 78 |
+
|
| 79 |
+
Playwright CLI is headless by default. If you'd like to see the browser, pass `--headed` to `open`:
|
| 80 |
+
|
| 81 |
+
```bash
|
| 82 |
+
playwright-cli open https://playwright.dev --headed
|
| 83 |
+
```
|
| 84 |
+
|
| 85 |
+
## Sessions
|
| 86 |
+
|
| 87 |
+
Playwright CLI will use a dedicated persistent profile by default. It means that
|
| 88 |
+
your cookies and other storage state will be preserved between the calls. You can use different
|
| 89 |
+
instances of the browser for different projects with sessions.
|
| 90 |
+
|
| 91 |
+
Following will result in two browsers with separate profiles being available. Pass `--session` to
|
| 92 |
+
the invocation to talk to a specific browser.
|
| 93 |
+
|
| 94 |
+
```bash
|
| 95 |
+
playwright-cli open https://playwright.dev
|
| 96 |
+
playwright-cli --session=example open https://example.com
|
| 97 |
+
playwright-cli session-list
|
| 98 |
+
```
|
| 99 |
+
|
| 100 |
+
You can run your coding agent with the `PLAYWRIGHT_CLI_SESSION` environment variable:
|
| 101 |
+
|
| 102 |
+
```bash
|
| 103 |
+
PLAYWRIGHT_CLI_SESSION=todo-app claude .
|
| 104 |
+
```
|
| 105 |
+
|
| 106 |
+
Or instruct it to prepend `--session` to the calls.
|
| 107 |
+
|
| 108 |
+
Manage your sessions as follows:
|
| 109 |
+
|
| 110 |
+
```bash
|
| 111 |
+
playwright-cli session-list # list all sessions
|
| 112 |
+
playwright-cli session-stop [name] # stop session
|
| 113 |
+
playwright-cli session-stop-all # stop all sessions
|
| 114 |
+
playwright-cli session-delete [name] # delete session data along with the profiles
|
| 115 |
+
```
|
| 116 |
+
|
| 117 |
+
<!-- BEGIN GENERATED CLI HELP -->
|
| 118 |
+
|
| 119 |
+
## Commands
|
| 120 |
+
|
| 121 |
+
### Core
|
| 122 |
+
|
| 123 |
+
```bash
|
| 124 |
+
playwright-cli open <url> # open url
|
| 125 |
+
playwright-cli close # close the page
|
| 126 |
+
playwright-cli type <text> # type text into editable element
|
| 127 |
+
playwright-cli click <ref> [button] # perform click on a web page
|
| 128 |
+
playwright-cli dblclick <ref> [button] # perform double click on a web page
|
| 129 |
+
playwright-cli fill <ref> <text> # fill text into editable element
|
| 130 |
+
playwright-cli drag <startRef> <endRef> # perform drag and drop between two elements
|
| 131 |
+
playwright-cli hover <ref> # hover over element on page
|
| 132 |
+
playwright-cli select <ref> <val> # select an option in a dropdown
|
| 133 |
+
playwright-cli upload <file> # upload one or multiple files
|
| 134 |
+
playwright-cli check <ref> # check a checkbox or radio button
|
| 135 |
+
playwright-cli uncheck <ref> # uncheck a checkbox or radio button
|
| 136 |
+
playwright-cli snapshot # capture page snapshot to obtain element ref
|
| 137 |
+
playwright-cli eval <func> [ref] # evaluate javascript expression on page or element
|
| 138 |
+
playwright-cli dialog-accept [prompt] # accept a dialog
|
| 139 |
+
playwright-cli dialog-dismiss # dismiss a dialog
|
| 140 |
+
playwright-cli resize <w> <h> # resize the browser window
|
| 141 |
+
```
|
| 142 |
+
|
| 143 |
+
### Navigation
|
| 144 |
+
|
| 145 |
+
```bash
|
| 146 |
+
playwright-cli go-back # go back to the previous page
|
| 147 |
+
playwright-cli go-forward # go forward to the next page
|
| 148 |
+
playwright-cli reload # reload the current page
|
| 149 |
+
```
|
| 150 |
+
|
| 151 |
+
### Keyboard
|
| 152 |
+
|
| 153 |
+
```bash
|
| 154 |
+
playwright-cli press <key> # press a key on the keyboard, `a`, `arrowleft`
|
| 155 |
+
playwright-cli keydown <key> # press a key down on the keyboard
|
| 156 |
+
playwright-cli keyup <key> # press a key up on the keyboard
|
| 157 |
+
```
|
| 158 |
+
|
| 159 |
+
### Mouse
|
| 160 |
+
|
| 161 |
+
```bash
|
| 162 |
+
playwright-cli mousemove <x> <y> # move mouse to a given position
|
| 163 |
+
playwright-cli mousedown [button] # press mouse down
|
| 164 |
+
playwright-cli mouseup [button] # press mouse up
|
| 165 |
+
playwright-cli mousewheel <dx> <dy> # scroll mouse wheel
|
| 166 |
+
```
|
| 167 |
+
|
| 168 |
+
### Save as
|
| 169 |
+
|
| 170 |
+
```bash
|
| 171 |
+
playwright-cli screenshot [ref] # screenshot of the current page or element
|
| 172 |
+
playwright-cli pdf # save page as pdf
|
| 173 |
+
```
|
| 174 |
+
|
| 175 |
+
### Tabs
|
| 176 |
+
|
| 177 |
+
```bash
|
| 178 |
+
playwright-cli tab-list # list all tabs
|
| 179 |
+
playwright-cli tab-new [url] # create a new tab
|
| 180 |
+
playwright-cli tab-close [index] # close a browser tab
|
| 181 |
+
playwright-cli tab-select <index> # select a browser tab
|
| 182 |
+
```
|
| 183 |
+
|
| 184 |
+
### DevTools
|
| 185 |
+
|
| 186 |
+
```bash
|
| 187 |
+
playwright-cli console [min-level] # list console messages
|
| 188 |
+
playwright-cli network # list all network requests since loading the page
|
| 189 |
+
playwright-cli run-code <code> # run playwright code snippet
|
| 190 |
+
playwright-cli tracing-start # start trace recording
|
| 191 |
+
playwright-cli tracing-stop # stop trace recording
|
| 192 |
+
```
|
| 193 |
+
<!-- END GENERATED CLI HELP -->
|
| 194 |
+
|
| 195 |
+
## Configuration file
|
| 196 |
+
|
| 197 |
+
The Playwright CLI can be configured using a JSON configuration file. You can specify the configuration file using the `--config` command line option:
|
| 198 |
+
|
| 199 |
+
```bash
|
| 200 |
+
playwright-cli --config path/to/config.json open example.com
|
| 201 |
+
```
|
| 202 |
+
|
| 203 |
+
Playwright CLI will load config from `playwright-cli.json` by default so that you did not need to specify it every time.
|
| 204 |
+
|
| 205 |
+
<details>
|
| 206 |
+
<summary>Configuration file schema</summary>
|
| 207 |
+
|
| 208 |
+
```typescript
|
| 209 |
+
{
|
| 210 |
+
/**
|
| 211 |
+
* The browser to use.
|
| 212 |
+
*/
|
| 213 |
+
browser?: {
|
| 214 |
+
/**
|
| 215 |
+
* The type of browser to use.
|
| 216 |
+
*/
|
| 217 |
+
browserName?: 'chromium' | 'firefox' | 'webkit';
|
| 218 |
+
|
| 219 |
+
/**
|
| 220 |
+
* Keep the browser profile in memory, do not save it to disk.
|
| 221 |
+
*/
|
| 222 |
+
isolated?: boolean;
|
| 223 |
+
|
| 224 |
+
/**
|
| 225 |
+
* Path to a user data directory for browser profile persistence.
|
| 226 |
+
* Temporary directory is created by default.
|
| 227 |
+
*/
|
| 228 |
+
userDataDir?: string;
|
| 229 |
+
|
| 230 |
+
/**
|
| 231 |
+
* Launch options passed to
|
| 232 |
+
* @see https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context
|
| 233 |
+
*
|
| 234 |
+
* This is useful for settings options like `channel`, `headless`, `executablePath`, etc.
|
| 235 |
+
*/
|
| 236 |
+
launchOptions?: playwright.LaunchOptions;
|
| 237 |
+
|
| 238 |
+
/**
|
| 239 |
+
* Context options for the browser context.
|
| 240 |
+
*
|
| 241 |
+
* This is useful for settings options like `viewport`.
|
| 242 |
+
*/
|
| 243 |
+
contextOptions?: playwright.BrowserContextOptions;
|
| 244 |
+
|
| 245 |
+
/**
|
| 246 |
+
* Chrome DevTools Protocol endpoint to connect to an existing browser instance in case of Chromium family browsers.
|
| 247 |
+
*/
|
| 248 |
+
cdpEndpoint?: string;
|
| 249 |
+
|
| 250 |
+
/**
|
| 251 |
+
* CDP headers to send with the connect request.
|
| 252 |
+
*/
|
| 253 |
+
cdpHeaders?: Record<string, string>;
|
| 254 |
+
|
| 255 |
+
/**
|
| 256 |
+
* Timeout in milliseconds for connecting to CDP endpoint. Defaults to 30000 (30 seconds). Pass 0 to disable timeout.
|
| 257 |
+
*/
|
| 258 |
+
cdpTimeout?: number;
|
| 259 |
+
|
| 260 |
+
/**
|
| 261 |
+
* Remote endpoint to connect to an existing Playwright server.
|
| 262 |
+
*/
|
| 263 |
+
remoteEndpoint?: string;
|
| 264 |
+
|
| 265 |
+
/**
|
| 266 |
+
* Paths to TypeScript files to add as initialization scripts for Playwright page.
|
| 267 |
+
*/
|
| 268 |
+
initPage?: string[];
|
| 269 |
+
|
| 270 |
+
/**
|
| 271 |
+
* Paths to JavaScript files to add as initialization scripts.
|
| 272 |
+
* The scripts will be evaluated in every page before any of the page's scripts.
|
| 273 |
+
*/
|
| 274 |
+
initScript?: string[];
|
| 275 |
+
},
|
| 276 |
+
|
| 277 |
+
/**
|
| 278 |
+
* If specified, saves the Playwright video of the session into the output directory.
|
| 279 |
+
*/
|
| 280 |
+
saveVideo?: {
|
| 281 |
+
width: number;
|
| 282 |
+
height: number;
|
| 283 |
+
};
|
| 284 |
+
|
| 285 |
+
/**
|
| 286 |
+
* The directory to save output files.
|
| 287 |
+
*/
|
| 288 |
+
outputDir?: string;
|
| 289 |
+
|
| 290 |
+
/**
|
| 291 |
+
* Whether to save snapshots, console messages, network logs and other session logs to a file or to the standard output. Defaults to "stdout".
|
| 292 |
+
*/
|
| 293 |
+
outputMode?: 'file' | 'stdout';
|
| 294 |
+
|
| 295 |
+
console?: {
|
| 296 |
+
/**
|
| 297 |
+
* The level of console messages to return. Each level includes the messages of more severe levels. Defaults to "info".
|
| 298 |
+
*/
|
| 299 |
+
level?: 'error' | 'warning' | 'info' | 'debug';
|
| 300 |
+
},
|
| 301 |
+
|
| 302 |
+
network?: {
|
| 303 |
+
/**
|
| 304 |
+
* List of origins to allow the browser to request. Default is to allow all. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
|
| 305 |
+
*/
|
| 306 |
+
allowedOrigins?: string[];
|
| 307 |
+
|
| 308 |
+
/**
|
| 309 |
+
* List of origins to block the browser to request. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
|
| 310 |
+
*/
|
| 311 |
+
blockedOrigins?: string[];
|
| 312 |
+
};
|
| 313 |
+
|
| 314 |
+
/**
|
| 315 |
+
* Specify the attribute to use for test ids, defaults to "data-testid".
|
| 316 |
+
*/
|
| 317 |
+
testIdAttribute?: string;
|
| 318 |
+
|
| 319 |
+
timeouts?: {
|
| 320 |
+
/*
|
| 321 |
+
* Configures default action timeout: https://playwright.dev/docs/api/class-page#page-set-default-timeout. Defaults to 5000ms.
|
| 322 |
+
*/
|
| 323 |
+
action?: number;
|
| 324 |
+
|
| 325 |
+
/*
|
| 326 |
+
* Configures default navigation timeout: https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout. Defaults to 60000ms.
|
| 327 |
+
*/
|
| 328 |
+
navigation?: number;
|
| 329 |
+
};
|
| 330 |
+
|
| 331 |
+
/**
|
| 332 |
+
* Whether to allow file uploads from anywhere on the file system.
|
| 333 |
+
* By default (false), file uploads are restricted to paths within the MCP roots only.
|
| 334 |
+
*/
|
| 335 |
+
allowUnrestrictedFileAccess?: boolean;
|
| 336 |
+
|
| 337 |
+
/**
|
| 338 |
+
* Specify the language to use for code generation.
|
| 339 |
+
*/
|
| 340 |
+
codegen?: 'typescript' | 'none';
|
| 341 |
+
}
|
| 342 |
+
```
|
| 343 |
+
|
| 344 |
+
</details>
|
| 345 |
+
|
| 346 |
+
## Environment
|
| 347 |
+
|
| 348 |
+
| Environment |
|
| 349 |
+
|-------------|
|
| 350 |
+
| `PLAYWRIGHT_MCP_ALLOWED_HOSTS` comma-separated list of hosts this server is allowed to serve from. Defaults to the host the server is bound to. Pass '*' to disable the host check. |
|
| 351 |
+
| `PLAYWRIGHT_MCP_ALLOWED_ORIGINS` semicolon-separated list of TRUSTED origins to allow the browser to request. Default is to allow all. Important: *does not* serve as a security boundary and *does not* affect redirects. |
|
| 352 |
+
| `PLAYWRIGHT_MCP_ALLOW_UNRESTRICTED_FILE_ACCESS` allow access to files outside of the workspace roots. Also allows unrestricted access to file:// URLs. By default access to file system is restricted to workspace root directories (or cwd if no roots are configured) only, and navigation to file:// URLs is blocked. |
|
| 353 |
+
| `PLAYWRIGHT_MCP_BLOCKED_ORIGINS` semicolon-separated list of origins to block the browser from requesting. Blocklist is evaluated before allowlist. If used without the allowlist, requests not matching the blocklist are still allowed. Important: *does not* serve as a security boundary and *does not* affect redirects. |
|
| 354 |
+
| `PLAYWRIGHT_MCP_BLOCK_SERVICE_WORKERS` block service workers |
|
| 355 |
+
| `PLAYWRIGHT_MCP_BROWSER` browser or chrome channel to use, possible values: chrome, firefox, webkit, msedge. |
|
| 356 |
+
| `PLAYWRIGHT_MCP_CAPS` comma-separated list of additional capabilities to enable, possible values: vision, pdf. |
|
| 357 |
+
| `PLAYWRIGHT_MCP_CDP_ENDPOINT` CDP endpoint to connect to. |
|
| 358 |
+
| `PLAYWRIGHT_MCP_CDP_HEADER` CDP headers to send with the connect request, multiple can be specified. |
|
| 359 |
+
| `PLAYWRIGHT_MCP_CODEGEN` specify the language to use for code generation, possible values: "typescript", "none". Default is "typescript". |
|
| 360 |
+
| `PLAYWRIGHT_MCP_CONFIG` path to the configuration file. |
|
| 361 |
+
| `PLAYWRIGHT_MCP_CONSOLE_LEVEL` level of console messages to return: "error", "warning", "info", "debug". Each level includes the messages of more severe levels. |
|
| 362 |
+
| `PLAYWRIGHT_MCP_DEVICE` device to emulate, for example: "iPhone 15" |
|
| 363 |
+
| `PLAYWRIGHT_MCP_EXECUTABLE_PATH` path to the browser executable. |
|
| 364 |
+
| `PLAYWRIGHT_MCP_EXTENSION` Connect to a running browser instance (Edge/Chrome only). Requires the "Playwright MCP Bridge" browser extension to be installed. |
|
| 365 |
+
| `PLAYWRIGHT_MCP_GRANT_PERMISSIONS` List of permissions to grant to the browser context, for example "geolocation", "clipboard-read", "clipboard-write". |
|
| 366 |
+
| `PLAYWRIGHT_MCP_HEADLESS` run browser in headless mode, headed by default |
|
| 367 |
+
| `PLAYWRIGHT_MCP_HOST` host to bind server to. Default is localhost. Use 0.0.0.0 to bind to all interfaces. |
|
| 368 |
+
| `PLAYWRIGHT_MCP_IGNORE_HTTPS_ERRORS` ignore https errors |
|
| 369 |
+
| `PLAYWRIGHT_MCP_INIT_PAGE` path to TypeScript file to evaluate on Playwright page object |
|
| 370 |
+
| `PLAYWRIGHT_MCP_INIT_SCRIPT` path to JavaScript file to add as an initialization script. The script will be evaluated in every page before any of the page's scripts. Can be specified multiple times. |
|
| 371 |
+
| `PLAYWRIGHT_MCP_ISOLATED` keep the browser profile in memory, do not save it to disk. |
|
| 372 |
+
| `PLAYWRIGHT_MCP_IMAGE_RESPONSES` whether to send image responses to the client. Can be "allow" or "omit", Defaults to "allow". |
|
| 373 |
+
| `PLAYWRIGHT_MCP_NO_SANDBOX` disable the sandbox for all process types that are normally sandboxed. |
|
| 374 |
+
| `PLAYWRIGHT_MCP_OUTPUT_DIR` path to the directory for output files. |
|
| 375 |
+
| `PLAYWRIGHT_MCP_OUTPUT_MODE` whether to save snapshots, console messages, network logs to a file or to the standard output. Can be "file" or "stdout". Default is "stdout". |
|
| 376 |
+
| `PLAYWRIGHT_MCP_PORT` port to listen on for SSE transport. |
|
| 377 |
+
| `PLAYWRIGHT_MCP_PROXY_BYPASS` comma-separated domains to bypass proxy, for example ".com,chromium.org,.domain.com" |
|
| 378 |
+
| `PLAYWRIGHT_MCP_PROXY_SERVER` specify proxy server, for example "http://myproxy:3128" or "socks5://myproxy:8080" |
|
| 379 |
+
| `PLAYWRIGHT_MCP_SAVE_SESSION` Whether to save the Playwright MCP session into the output directory. |
|
| 380 |
+
| `PLAYWRIGHT_MCP_SAVE_TRACE` Whether to save the Playwright Trace of the session into the output directory. |
|
| 381 |
+
| `PLAYWRIGHT_MCP_SAVE_VIDEO` Whether to save the video of the session into the output directory. For example "--save-video=800x600" |
|
| 382 |
+
| `PLAYWRIGHT_MCP_SECRETS` path to a file containing secrets in the dotenv format |
|
| 383 |
+
| `PLAYWRIGHT_MCP_SHARED_BROWSER_CONTEXT` reuse the same browser context between all connected HTTP clients. |
|
| 384 |
+
| `PLAYWRIGHT_MCP_SNAPSHOT_MODE` when taking snapshots for responses, specifies the mode to use. Can be "incremental", "full", or "none". Default is incremental. |
|
| 385 |
+
| `PLAYWRIGHT_MCP_STORAGE_STATE` path to the storage state file for isolated sessions. |
|
| 386 |
+
| `PLAYWRIGHT_MCP_TEST_ID_ATTRIBUTE` specify the attribute to use for test ids, defaults to "data-testid" |
|
| 387 |
+
| `PLAYWRIGHT_MCP_TIMEOUT_ACTION` specify action timeout in milliseconds, defaults to 5000ms |
|
| 388 |
+
| `PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION` specify navigation timeout in milliseconds, defaults to 60000ms |
|
| 389 |
+
| `PLAYWRIGHT_MCP_USER_AGENT` specify user agent string |
|
| 390 |
+
| `PLAYWRIGHT_MCP_USER_DATA_DIR` path to the user data directory. If not specified, a temporary directory will be created. |
|
| 391 |
+
| `PLAYWRIGHT_MCP_VIEWPORT_SIZE` specify browser viewport size in pixels, for example "1280x720" |
|
packages/playwright-cli/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "@playwright/cli",
|
| 3 |
+
"version": "0.0.60",
|
| 4 |
+
"description": "Playwright CLI",
|
| 5 |
+
"repository": {
|
| 6 |
+
"type": "git",
|
| 7 |
+
"url": "git+https://github.com/microsoft/playwright-cli.git"
|
| 8 |
+
},
|
| 9 |
+
"homepage": "https://playwright.dev",
|
| 10 |
+
"engines": {
|
| 11 |
+
"node": ">=18"
|
| 12 |
+
},
|
| 13 |
+
"author": {
|
| 14 |
+
"name": "Microsoft Corporation"
|
| 15 |
+
},
|
| 16 |
+
"license": "Apache-2.0",
|
| 17 |
+
"scripts": {
|
| 18 |
+
"lint": "echo OK",
|
| 19 |
+
"build": "echo OK",
|
| 20 |
+
"test": "echo OK"
|
| 21 |
+
},
|
| 22 |
+
"dependencies": {
|
| 23 |
+
"minimist": "^1.2.5",
|
| 24 |
+
"playwright": "1.59.0-alpha-1769452054000",
|
| 25 |
+
"playwright-core": "1.59.0-alpha-1769452054000"
|
| 26 |
+
},
|
| 27 |
+
"bin": {
|
| 28 |
+
"playwright-cli": "./playwright-cli.js"
|
| 29 |
+
}
|
| 30 |
+
}
|
packages/{playwright-mcp → playwright-cli}/playwright-cli.js
RENAMED
|
File without changes
|
packages/playwright-mcp/.npmignore
CHANGED
|
@@ -2,6 +2,5 @@
|
|
| 2 |
!README.md
|
| 3 |
!LICENSE
|
| 4 |
!cli.js
|
| 5 |
-
!playwright-cli.js
|
| 6 |
!index.*
|
| 7 |
!config.d.ts
|
|
|
|
| 2 |
!README.md
|
| 3 |
!LICENSE
|
| 4 |
!cli.js
|
|
|
|
| 5 |
!index.*
|
| 6 |
!config.d.ts
|
packages/playwright-mcp/package.json
CHANGED
|
@@ -34,12 +34,10 @@
|
|
| 34 |
}
|
| 35 |
},
|
| 36 |
"dependencies": {
|
| 37 |
-
"minimist": "^1.2.5",
|
| 38 |
"playwright": "1.59.0-alpha-1769452054000",
|
| 39 |
"playwright-core": "1.59.0-alpha-1769452054000"
|
| 40 |
},
|
| 41 |
"bin": {
|
| 42 |
-
"mcp": "cli.js"
|
| 43 |
-
"playwright-cli": "./playwright-cli.js"
|
| 44 |
}
|
| 45 |
}
|
|
|
|
| 34 |
}
|
| 35 |
},
|
| 36 |
"dependencies": {
|
|
|
|
| 37 |
"playwright": "1.59.0-alpha-1769452054000",
|
| 38 |
"playwright-core": "1.59.0-alpha-1769452054000"
|
| 39 |
},
|
| 40 |
"bin": {
|
| 41 |
+
"playwright-mcp": "cli.js"
|
|
|
|
| 42 |
}
|
| 43 |
}
|