n8n-nodes-playwright 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md ADDED
@@ -0,0 +1,19 @@
1
+ Copyright 2022 n8n
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,105 @@
1
+ # n8n-nodes-playwright
2
+
3
+ This is an n8n community node. It lets you automate browser actions using Playwright in your n8n workflows.
4
+
5
+ [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
6
+
7
+ [Installation](#installation)
8
+ [Operations](#operations)
9
+ [Compatibility](#compatibility)
10
+ [Resources](#resources)
11
+ [Version history](#version-history)
12
+
13
+ ## Installation
14
+
15
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
16
+
17
+ ```bash
18
+ pnpm install n8n-nodes-playwright
19
+
20
+ ```
21
+
22
+ Note: The package will automatically download and set up the required browser binaries during installation. This requires approximately 1GB of disk space.
23
+
24
+ If you need to manually trigger the browser setup:
25
+
26
+ ```bash
27
+ pnpm rebuild n8n-nodes-playwright
28
+
29
+ ```
30
+
31
+ Operations
32
+ ----------
33
+
34
+ This node supports the following operations:
35
+
36
+ - Navigate: Go to a specified URL
37
+ - Take Screenshot: Capture a screenshot of a webpage
38
+ - Get Text: Extract text from an element using CSS selector
39
+ - Click Element: Click on an element using CSS selector
40
+ - Fill Form: Fill a form field using CSS selector
41
+
42
+ ### Browser Options
43
+
44
+ - Choose between Chromium, Firefox, or WebKit
45
+ - Configure headless mode
46
+ - Adjust operation speed with slow motion option
47
+
48
+ ### Screenshot Options
49
+
50
+ - Full page capture
51
+ - Custom save path
52
+ - Base64 output
53
+
54
+ Compatibility
55
+ -------------
56
+
57
+ - Requires n8n version 1.0.0 or later
58
+ - Tested with Playwright version 1.49.0
59
+ - Supports Windows, macOS, and Linux
60
+
61
+ ### System Requirements
62
+
63
+ - Node.js 18.10 or later
64
+ - Approximately 1GB disk space for browser binaries
65
+ - Additional system dependencies may be required for browser automation
66
+
67
+ Resources
68
+ ---------
69
+
70
+ - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
71
+ - [Playwright documentation](https://playwright.dev/docs/intro)
72
+
73
+ Version history
74
+ ---------------
75
+
76
+ ### 0.1.0
77
+
78
+ - Initial release
79
+ - Basic browser automation operations
80
+ - Support for Chromium, Firefox, and WebKit.
81
+ - Screenshot and form interaction capabilities
82
+
83
+ ### Troubleshooting
84
+
85
+ If browsers are not installed correctly:
86
+
87
+ 1. Clean the installation:
88
+
89
+ ```
90
+ bashrm -rf ~/.cache/ms-playwright
91
+ # or for Windows:
92
+ # rmdir /s /q %USERPROFILE%\AppData\Local\ms-playwright
93
+
94
+ ```
95
+
96
+ 1. Rebuild the package:
97
+
98
+ ```
99
+ bashpnpm rebuild n8n-nodes-playwright
100
+
101
+ ```
102
+
103
+ ### License
104
+
105
+ [MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)
@@ -0,0 +1,5 @@
1
+ import { INodeType, INodeExecutionData, IExecuteFunctions, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class PlaywrightNode implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlaywrightNode = void 0;
4
+ const path_1 = require("path");
5
+ const os_1 = require("os");
6
+ const utils_1 = require("./utils");
7
+ const operations_1 = require("./operations");
8
+ class PlaywrightNode {
9
+ constructor() {
10
+ this.description = {
11
+ displayName: 'Playwright',
12
+ name: 'playwright',
13
+ icon: 'file:playwright.svg',
14
+ group: ['automation'],
15
+ version: 1,
16
+ subtitle: '={{$parameter["operation"]}}',
17
+ description: 'Automate browser actions using Playwright',
18
+ defaults: {
19
+ name: 'Playwright',
20
+ },
21
+ inputs: ['main'],
22
+ outputs: ['main'],
23
+ properties: [
24
+ {
25
+ displayName: 'Operation',
26
+ name: 'operation',
27
+ type: 'options',
28
+ noDataExpression: true,
29
+ options: [
30
+ {
31
+ name: 'Click Element',
32
+ value: 'clickElement',
33
+ description: 'Click on an element',
34
+ action: 'Click on an element',
35
+ },
36
+ {
37
+ name: 'Fill Form',
38
+ value: 'fillForm',
39
+ description: 'Fill a form field',
40
+ action: 'Fill a form field',
41
+ },
42
+ {
43
+ name: 'Get Text',
44
+ value: 'getText',
45
+ description: 'Get text from an element',
46
+ action: 'Get text from an element',
47
+ },
48
+ {
49
+ name: 'Navigate',
50
+ value: 'navigate',
51
+ description: 'Navigate to a URL',
52
+ action: 'Navigate to a URL',
53
+ },
54
+ {
55
+ name: 'Take Screenshot',
56
+ value: 'takeScreenshot',
57
+ description: 'Take a screenshot of a webpage',
58
+ action: 'Take a screenshot of a webpage',
59
+ }
60
+ ],
61
+ default: 'navigate',
62
+ },
63
+ {
64
+ displayName: 'URL',
65
+ name: 'url',
66
+ type: 'string',
67
+ default: '',
68
+ placeholder: 'https://example.com',
69
+ description: 'The URL to navigate to',
70
+ displayOptions: {
71
+ show: {
72
+ operation: ['navigate', 'takeScreenshot', 'getText', 'clickElement', 'fillForm'],
73
+ },
74
+ },
75
+ required: true,
76
+ },
77
+ {
78
+ displayName: 'Selector',
79
+ name: 'selector',
80
+ type: 'string',
81
+ default: '',
82
+ placeholder: '#submit-button',
83
+ description: 'CSS selector for the element',
84
+ displayOptions: {
85
+ show: {
86
+ operation: ['getText', 'clickElement', 'fillForm'],
87
+ },
88
+ },
89
+ required: true,
90
+ },
91
+ {
92
+ displayName: 'Value',
93
+ name: 'value',
94
+ type: 'string',
95
+ default: '',
96
+ description: 'Value to fill in the form field',
97
+ displayOptions: {
98
+ show: {
99
+ operation: ['fillForm'],
100
+ },
101
+ },
102
+ required: true,
103
+ },
104
+ {
105
+ displayName: 'Browser',
106
+ name: 'browser',
107
+ type: 'options',
108
+ options: [
109
+ {
110
+ name: 'Chromium',
111
+ value: 'chromium',
112
+ },
113
+ {
114
+ name: 'Firefox',
115
+ value: 'firefox',
116
+ },
117
+ {
118
+ name: 'Webkit',
119
+ value: 'webkit',
120
+ },
121
+ ],
122
+ default: 'chromium',
123
+ },
124
+ {
125
+ displayName: 'Browser Launch Options',
126
+ name: 'browserOptions',
127
+ type: 'collection',
128
+ placeholder: 'Add Option',
129
+ default: {},
130
+ options: [
131
+ {
132
+ displayName: 'Headless',
133
+ name: 'headless',
134
+ type: 'boolean',
135
+ default: true,
136
+ description: 'Whether to run browser in headless mode',
137
+ },
138
+ {
139
+ displayName: 'Slow Motion',
140
+ name: 'slowMo',
141
+ type: 'number',
142
+ default: 0,
143
+ description: 'Slows down operations by the specified amount of milliseconds',
144
+ }
145
+ ],
146
+ },
147
+ {
148
+ displayName: 'Screenshot Options',
149
+ name: 'screenshotOptions',
150
+ type: 'collection',
151
+ placeholder: 'Add Option',
152
+ default: {},
153
+ displayOptions: {
154
+ show: {
155
+ operation: ['takeScreenshot'],
156
+ },
157
+ },
158
+ options: [
159
+ {
160
+ displayName: 'Full Page',
161
+ name: 'fullPage',
162
+ type: 'boolean',
163
+ default: false,
164
+ description: 'Whether to take a screenshot of the full scrollable page',
165
+ },
166
+ {
167
+ displayName: 'Path',
168
+ name: 'path',
169
+ type: 'string',
170
+ default: '',
171
+ description: 'The file path to save the screenshot to',
172
+ },
173
+ ],
174
+ },
175
+ ],
176
+ };
177
+ }
178
+ async execute() {
179
+ const items = this.getInputData();
180
+ const returnData = [];
181
+ for (let i = 0; i < items.length; i++) {
182
+ const operation = this.getNodeParameter('operation', i);
183
+ const url = this.getNodeParameter('url', i);
184
+ const browserType = this.getNodeParameter('browser', i);
185
+ const browserOptions = this.getNodeParameter('browserOptions', i);
186
+ try {
187
+ const playwright = require('playwright');
188
+ const browsersPath = (0, path_1.join)(__dirname, '..', 'browsers');
189
+ const executablePath = (0, utils_1.getBrowserExecutablePath)(browserType, browsersPath);
190
+ console.log(`Launching browser from: ${executablePath}`);
191
+ const browser = await playwright[browserType].launch({
192
+ headless: browserOptions.headless !== false,
193
+ slowMo: browserOptions.slowMo || 0,
194
+ executablePath,
195
+ });
196
+ const context = await browser.newContext();
197
+ const page = await context.newPage();
198
+ await page.goto(url);
199
+ const result = await (0, operations_1.handleOperation)(operation, page, this, i);
200
+ await browser.close();
201
+ returnData.push({ json: result });
202
+ }
203
+ catch (error) {
204
+ console.error(`Browser launch error:`, error);
205
+ if (this.continueOnFail()) {
206
+ returnData.push({
207
+ json: {
208
+ error: error.message,
209
+ browserType,
210
+ os: (0, os_1.platform)(),
211
+ },
212
+ });
213
+ continue;
214
+ }
215
+ throw error;
216
+ }
217
+ }
218
+ return [returnData];
219
+ }
220
+ }
221
+ exports.PlaywrightNode = PlaywrightNode;
222
+ //# sourceMappingURL=Playwright.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Playwright.node.js","sourceRoot":"","sources":["../../../nodes/playwright/Playwright.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ {
2
+ "node": "n8n-nodes-base.playwright",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": [
6
+ "Development",
7
+ "Automation"
8
+ ],
9
+ "resources": {
10
+ "primaryDocumentation": [
11
+ {
12
+ "url": "https://playwright.dev/docs/intro"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ import { BrowserPaths } from './types';
2
+ export declare const browserVersions: {
3
+ chromium: string;
4
+ firefox: string;
5
+ webkit: string;
6
+ };
7
+ export declare const browserPaths: BrowserPaths;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.browserPaths = exports.browserVersions = void 0;
4
+ exports.browserVersions = {
5
+ chromium: '1140',
6
+ firefox: '1465',
7
+ webkit: '2083'
8
+ };
9
+ exports.browserPaths = {
10
+ 'chromium': {
11
+ windows: [`chromium-${exports.browserVersions.chromium}`, 'chrome-win', 'chrome.exe'],
12
+ linux: [`chromium-${exports.browserVersions.chromium}`, 'chrome-linux', 'chrome'],
13
+ darwin: [`chromium-${exports.browserVersions.chromium}`, 'chrome-mac', 'Chrome']
14
+ },
15
+ 'firefox': {
16
+ windows: [`firefox-${exports.browserVersions.firefox}`, 'firefox', 'firefox.exe'],
17
+ linux: [`firefox-${exports.browserVersions.firefox}`, 'firefox', 'firefox'],
18
+ darwin: [`firefox-${exports.browserVersions.firefox}`, 'firefox', 'Firefox']
19
+ },
20
+ 'webkit': {
21
+ windows: [`webkit-${exports.browserVersions.webkit}`, 'Playwright.exe'],
22
+ linux: [`webkit-${exports.browserVersions.webkit}`, 'playwright-webkit'],
23
+ darwin: [`webkit-${exports.browserVersions.webkit}`, 'Playwright']
24
+ }
25
+ };
26
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../nodes/playwright/config.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAG;IAC3B,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;CACjB,CAAC;AAEW,QAAA,YAAY,GAAiB;IACtC,UAAU,EAAE;QACR,OAAO,EAAE,CAAC,YAAY,uBAAe,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC;QAC7E,KAAK,EAAE,CAAC,YAAY,uBAAe,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC;QACzE,MAAM,EAAE,CAAC,YAAY,uBAAe,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC;KAC3E;IACD,SAAS,EAAE;QACP,OAAO,EAAE,CAAC,WAAW,uBAAe,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC;QACzE,KAAK,EAAE,CAAC,WAAW,uBAAe,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC;QACnE,MAAM,EAAE,CAAC,WAAW,uBAAe,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC;KACvE;IACD,QAAQ,EAAE;QACN,OAAO,EAAE,CAAC,UAAU,uBAAe,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC;QAC/D,KAAK,EAAE,CAAC,UAAU,uBAAe,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC;QAChE,MAAM,EAAE,CAAC,UAAU,uBAAe,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC;KAC7D;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IExecuteFunctions } from 'n8n-workflow';
2
+ import { Page } from 'playwright';
3
+ export declare function handleOperation(operation: string, page: Page, executeFunctions: IExecuteFunctions, itemIndex: number): Promise<any>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleOperation = handleOperation;
4
+ async function handleOperation(operation, page, executeFunctions, itemIndex) {
5
+ switch (operation) {
6
+ case 'navigate':
7
+ return { url: page.url() };
8
+ case 'takeScreenshot':
9
+ const screenshotOptions = executeFunctions.getNodeParameter('screenshotOptions', itemIndex);
10
+ const screenshot = await page.screenshot(screenshotOptions);
11
+ return { screenshot: screenshot.toString('base64') };
12
+ case 'getText':
13
+ const selector = executeFunctions.getNodeParameter('selector', itemIndex);
14
+ const element = await page.$(selector);
15
+ const text = await (element === null || element === void 0 ? void 0 : element.textContent());
16
+ return { text };
17
+ case 'clickElement':
18
+ const clickSelector = executeFunctions.getNodeParameter('selector', itemIndex);
19
+ await page.click(clickSelector);
20
+ return { success: true };
21
+ case 'fillForm':
22
+ const formSelector = executeFunctions.getNodeParameter('selector', itemIndex);
23
+ const value = executeFunctions.getNodeParameter('value', itemIndex);
24
+ await page.fill(formSelector, value);
25
+ return { success: true };
26
+ default:
27
+ throw new Error(`Unknown operation: ${operation}`);
28
+ }
29
+ }
30
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../nodes/playwright/operations.ts"],"names":[],"mappings":";;AAGA,0CAmCC;AAnCM,KAAK,UAAU,eAAe,CACjC,SAAiB,EACjB,IAAU,EACV,gBAAmC,EACnC,SAAiB;IAEjB,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,UAAU;YACX,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAE/B,KAAK,gBAAgB;YACjB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,CAAW,CAAC;YACtG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAEzD,KAAK,SAAS;YACV,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAW,CAAC;YACpF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,CAAA,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,CAAC;QAEpB,KAAK,cAAc;YACf,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAW,CAAC;YACzF,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE7B,KAAK,UAAU;YACX,MAAM,YAAY,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAW,CAAC;YACxF,MAAM,KAAK,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAW,CAAC;YAC9E,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE7B;YACI,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="256px" height="192px" viewBox="0 0 256 192" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
3
+ <title>Playwright</title>
4
+ <g>
5
+ <path d="M84.380258,108.351608 C74.8238495,111.063682 68.554264,115.818897 64.4242284,120.570403 C68.3799853,117.108559 73.678801,113.931495 80.8264547,111.905411 C88.1372629,109.833348 94.3742174,109.848181 99.5276772,110.842682 L99.5276772,106.812764 C95.131403,106.41081 90.0914098,106.731187 84.380258,108.351608 Z M63.9874191,74.4747851 L28.4964782,83.8250256 C28.4964782,83.8250256 29.1433119,84.7386912 30.3410148,85.9579009 L60.4328742,78.0285884 C60.4328742,78.0285884 60.0064474,83.5231896 56.3033577,88.4385921 C63.3081028,83.1390348 63.9874191,74.4747851 63.9874191,74.4747851 Z M93.6956427,157.884596 C43.750467,171.336691 17.3261001,113.45538 9.32588954,83.4126895 C5.62969676,69.5452921 4.01617216,59.042587 3.58611152,52.2649975 C3.53990911,51.561208 3.56126753,50.9679186 3.61102968,50.4243173 C1.020135,50.5807973 -0.220284754,51.9275642 0.0320857117,55.8195425 C0.462146344,62.5934239 2.07567095,73.0953873 5.77186373,86.9672344 C13.7685145,117.005475 40.1964412,174.886786 90.1418394,161.434691 C101.013125,158.506067 109.180495,153.171654 115.311399,146.362175 C109.660318,151.465947 102.587567,155.485482 93.6956427,157.884596 Z M103.081481,39.05096 L103.081481,42.605505 L122.671896,42.605505 C122.269942,41.3469899 121.865022,40.2130656 121.463068,39.05096 L103.081481,39.05096 Z" fill="#2D4552"></path>
6
+ <path d="M127.050371,68.3253408 C135.860718,70.8275387 140.520265,77.0044227 142.983157,82.4708426 L152.806546,85.2607859 C152.806546,85.2607859 151.466454,66.1294285 134.161686,61.2140261 C117.973044,56.6145502 108.010974,70.2090345 106.79918,71.9681375 C111.508414,68.6130861 118.38538,65.8661563 127.050371,68.3253408 Z M205.246652,82.5590944 C189.043177,77.9388534 179.084815,91.561519 177.890821,93.2961488 C182.603763,89.9448054 189.47702,87.1971341 198.138304,89.6674427 C206.93456,92.1733486 211.590398,98.3428165 214.060707,103.812944 L223.898186,106.61327 C223.898186,106.61327 222.536587,87.4782049 205.246652,82.5590944 Z M195.487042,133.00204 L113.768847,110.156691 C113.768847,110.156691 114.65359,114.641959 118.047947,120.44952 L186.850973,139.683961 C192.515403,136.406779 195.487042,133.00204 195.487042,133.00204 Z M138.831615,182.176088 C74.1267345,164.828307 81.9492548,82.3855573 92.419329,43.3189354 C96.7303179,27.2192868 101.162189,15.2528626 104.837617,7.23136786 C102.644671,6.77994881 100.828464,7.93508322 99.0337638,11.5850736 C95.131403,19.4998504 90.1410978,32.3868372 85.3117223,50.4272837 C74.8446146,89.4931639 67.0220942,171.932947 131.724008,189.280728 C162.221307,197.451064 185.979579,185.033518 203.690009,165.532096 C186.879154,180.758126 165.41617,189.294819 138.831615,182.176088 Z" fill="#2D4552"></path>
7
+ <path d="M103.081481,138.564869 L103.081481,121.928294 L56.8578607,135.035539 C56.8578607,135.035539 60.2734277,115.19001 84.380258,108.351608 C91.6910663,106.279545 97.9287624,106.293636 103.081481,107.288879 L103.081481,39.05096 L126.225699,39.05096 C123.705702,31.264037 121.268025,25.2688479 119.220435,21.103215 C115.833494,14.2084509 112.361268,18.7790038 104.478677,25.371932 C98.9269718,30.0099716 84.8956781,39.9045551 63.7812511,45.5942002 C42.6665273,51.2875533 25.5964056,49.7776318 18.474115,48.5443316 C8.37699735,46.8022856 3.0956837,44.5848666 3.58974542,52.2649975 C4.01973189,59.0388789 5.63333066,69.541584 9.32952344,83.4126895 C17.3261001,113.451672 43.7540267,171.332983 93.6993508,157.880888 C106.745784,154.365649 115.954377,147.417488 122.337429,138.561161 L103.081481,138.561161 L103.081481,138.564869 Z M28.4929926,83.8250256 L63.9874191,74.4747851 C63.9874191,74.4747851 62.9528708,88.12934 49.6466509,91.6371634 C36.336723,95.1412787 28.4929926,83.8250256 28.4929926,83.8250256 Z" fill="#E2574C"></path>
8
+ <path d="M236.66429,39.8400349 C227.437899,41.45749 205.303014,43.4724491 177.947925,36.140134 C150.585419,28.8122687 132.430764,15.9960317 125.237872,9.97191979 C115.041453,1.4315193 110.556185,-4.50374756 106.142112,4.47383303 C102.239751,12.3922438 97.2494461,25.2792305 92.419329,43.319677 C81.9529629,82.3855573 74.1304425,164.82534 138.831615,182.173121 C203.519438,199.50607 237.957661,124.195401 248.424769,85.1258125 C253.254886,67.0890741 255.372929,53.4308111 255.955836,44.624172 C256.62032,34.6480113 249.767828,37.544005 236.66429,39.8400349 Z M106.667915,72.1609566 C106.667915,72.1609566 116.864334,56.3023317 134.157978,61.2177341 C151.462746,66.1331366 152.802838,85.2644939 152.802838,85.2644939 L106.667915,72.1609566 Z M148.882678,143.323792 C118.463991,134.413327 113.772555,110.156691 113.772555,110.156691 L195.487042,133.002782 C195.487042,132.999073 178.992856,152.123015 148.882678,143.323792 Z M177.773646,93.4741356 C177.773646,93.4741356 187.955975,77.6266349 205.246652,82.556128 C222.536587,87.4789465 223.898186,106.610304 223.898186,106.610304 L177.773646,93.4741356 Z" fill="#2EAD33"></path>
9
+ <path d="M86.9284358,126.509229 L56.8578607,135.031831 C56.8578607,135.031831 60.1243637,116.42331 82.2763056,109.048723 L65.2489006,45.1470083 L63.777543,45.5942002 C42.6629676,51.2882949 25.5928458,49.7776318 18.4705553,48.5443316 C8.37351178,46.8030273 3.09219812,44.5848666 3.58618569,52.2657391 C4.01624632,59.0396205 5.62977092,69.541584 9.3259637,83.4134311 C17.3226145,113.451672 43.7505412,171.332983 93.6956427,157.880888 L95.1670004,157.418864 L86.9284358,126.509229 Z M28.4929926,83.8257672 L63.9874191,74.4747851 C63.9874191,74.4747851 62.9528708,88.12934 49.6466509,91.6371634 C36.3367972,95.1412787 28.4929926,83.8257672 28.4929926,83.8257672 Z" fill="#D65348"></path>
10
+ <path d="M150.25466,143.657517 L148.87897,143.32305 C118.460283,134.413327 113.768847,110.156691 113.768847,110.156691 L155.905741,121.934968 L178.214163,36.2113288 L177.944217,36.140134 C150.581711,28.8122687 132.427798,15.9960317 125.234164,9.97191979 C115.037745,1.4315193 110.552477,-4.50374756 106.138404,4.47383303 C102.239751,12.3922438 97.2494461,25.2792305 92.419329,43.319677 C81.9529629,82.3855573 74.1304425,164.82534 138.831615,182.17238 L140.157617,182.471249 L150.25466,143.657517 Z M106.667915,72.1609566 C106.667915,72.1609566 116.864334,56.3023317 134.157978,61.2177341 C151.462746,66.1331366 152.802838,85.2644939 152.802838,85.2644939 L106.667915,72.1609566 Z" fill="#1D8D22"></path>
11
+ <path d="M88.4606056,126.07242 L80.3963199,128.361034 C82.3015204,139.101055 85.6595382,149.407974 90.9301726,158.513483 C91.8475463,158.311023 92.7575039,158.136744 93.6919347,157.880888 C96.1407365,157.220112 98.4115516,156.402114 100.597823,155.509955 C94.7086843,146.770803 90.812998,136.705649 88.4606056,126.07242 Z M85.3117223,50.4280253 C81.1675961,65.8950792 77.4602791,88.1575212 78.4807368,110.48745 C80.3073265,109.694667 82.2370001,108.956022 84.380258,108.3479 L85.8731224,108.014175 C84.0532072,84.1624589 87.9874574,59.8568766 92.419329,43.319677 C93.5428707,39.1362454 94.6693789,35.2450087 95.792179,31.6163026 C93.9833881,32.767284 92.0359157,33.9471882 89.8177551,35.1626898 C88.3219243,39.7799643 86.8112612,44.826632 85.3117223,50.4280253 Z" fill="#C04B41"></path>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,15 @@
1
+ export interface IBrowserOptions {
2
+ headless?: boolean;
3
+ slowMo?: number;
4
+ }
5
+ export interface BrowserPaths {
6
+ [key: string]: {
7
+ windows: string[];
8
+ linux: string[];
9
+ darwin: string[];
10
+ };
11
+ }
12
+ export interface IScreenshotOptions {
13
+ fullPage?: boolean;
14
+ path?: string;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../nodes/playwright/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare function getBrowserExecutablePath(browserType: string, basePath: string): string;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBrowserExecutablePath = getBrowserExecutablePath;
4
+ const path_1 = require("path");
5
+ const os_1 = require("os");
6
+ const config_1 = require("./config");
7
+ function getBrowserExecutablePath(browserType, basePath) {
8
+ const os = (0, os_1.platform)();
9
+ let pathSegments;
10
+ switch (os) {
11
+ case 'win32':
12
+ pathSegments = config_1.browserPaths[browserType].windows;
13
+ break;
14
+ case 'linux':
15
+ pathSegments = config_1.browserPaths[browserType].linux;
16
+ break;
17
+ case 'darwin':
18
+ pathSegments = config_1.browserPaths[browserType].darwin;
19
+ break;
20
+ default:
21
+ throw new Error(`Unsupported operating system: ${os}`);
22
+ }
23
+ return (0, path_1.join)(basePath, ...pathSegments);
24
+ }
25
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../nodes/playwright/utils.ts"],"names":[],"mappings":";;AAKA,4DAmBC;AAvBD,+BAA4B;AAC5B,2BAA8B;AAC9B,qCAAwC;AAExC,SAAgB,wBAAwB,CAAC,WAAmB,EAAE,QAAgB;IAC1E,MAAM,EAAE,GAAG,IAAA,aAAQ,GAAE,CAAC;IACtB,IAAI,YAAsB,CAAC;IAE3B,QAAQ,EAAE,EAAE,CAAC;QACT,KAAK,OAAO;YACR,YAAY,GAAG,qBAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YACjD,MAAM;QACV,KAAK,OAAO;YACR,YAAY,GAAG,qBAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YAC/C,MAAM;QACV,KAAK,QAAQ;YACT,YAAY,GAAG,qBAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAChD,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,IAAA,WAAI,EAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs_1 = require("fs");
4
+ const path_1 = require("path");
5
+ const child_process_1 = require("child_process");
6
+ const os_1 = require("os");
7
+ const browserVersions = {
8
+ chromium: '1140',
9
+ firefox: '1465',
10
+ webkit: '2083'
11
+ };
12
+ async function setupBrowsers() {
13
+ try {
14
+ console.log('Current working directory:', process.cwd());
15
+ console.log('Operating System:', (0, os_1.platform)());
16
+ console.log('Node version:', process.version);
17
+ const os = (0, os_1.platform)();
18
+ const sourcePath = os === 'win32'
19
+ ? (0, path_1.join)(process.env.USERPROFILE || '', 'AppData', 'Local', 'ms-playwright')
20
+ : (0, path_1.join)(process.env.HOME || '', '.cache', 'ms-playwright');
21
+ const browsersPath = (0, path_1.join)(__dirname, '..', 'browsers');
22
+ console.log('\nPaths:');
23
+ console.log('Source path:', sourcePath);
24
+ console.log('Destination path:', browsersPath);
25
+ if (!(0, fs_1.existsSync)(sourcePath)) {
26
+ console.log('\nSource path does not exist. Installing Playwright browsers...');
27
+ (0, child_process_1.execSync)('npx playwright install', { stdio: 'inherit' });
28
+ }
29
+ else {
30
+ console.log('\nPlaywright browsers directory exists');
31
+ console.log('Contents:', (0, fs_1.readdirSync)(sourcePath));
32
+ }
33
+ if ((0, fs_1.existsSync)(browsersPath)) {
34
+ console.log('\nCleaning existing browsers directory...');
35
+ (0, fs_1.rmSync)(browsersPath, { recursive: true, force: true });
36
+ }
37
+ console.log('Creating browsers directory...');
38
+ (0, fs_1.mkdirSync)(browsersPath, { recursive: true });
39
+ console.log('\nCopying browser files...');
40
+ const files = (0, fs_1.readdirSync)(sourcePath);
41
+ for (const file of files) {
42
+ if (file.startsWith('chromium-') ||
43
+ file.startsWith('firefox-') ||
44
+ file.startsWith('webkit-')) {
45
+ const sourceFull = (0, path_1.join)(sourcePath, file);
46
+ const destFull = (0, path_1.join)(browsersPath, file);
47
+ console.log(`Copying ${file}...`);
48
+ (0, fs_1.cpSync)(sourceFull, destFull, { recursive: true });
49
+ }
50
+ }
51
+ console.log('\nVerifying installation...');
52
+ const installedFiles = (0, fs_1.readdirSync)(browsersPath);
53
+ console.log('Installed browsers:', installedFiles);
54
+ for (const browserType of ['chromium', 'firefox', 'webkit']) {
55
+ const version = browserVersions[browserType];
56
+ const browserDir = installedFiles.find(f => f.startsWith(`${browserType}-${version}`));
57
+ if (browserDir) {
58
+ console.log(`\nFound ${browserType} installation: ${browserDir}`);
59
+ const browserPath = (0, path_1.join)(browsersPath, browserDir);
60
+ const browserContents = (0, fs_1.readdirSync)(browserPath, { recursive: true });
61
+ console.log(`Contents: ${browserContents}`);
62
+ }
63
+ else {
64
+ console.error(`Warning: ${browserType} installation not found!`);
65
+ }
66
+ }
67
+ console.log('\nBrowser setup completed successfully!');
68
+ }
69
+ catch (error) {
70
+ console.error('\nError during browser setup:', error);
71
+ process.exit(1);
72
+ }
73
+ }
74
+ console.log('Starting browser setup...\n');
75
+ setupBrowsers().catch(error => {
76
+ console.error('Unhandled error:', error);
77
+ process.exit(1);
78
+ });
79
+ //# sourceMappingURL=setup-browsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-browsers.js","sourceRoot":"","sources":["../../../nodes/scripts/setup-browsers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs_1 = require("fs");
4
+ const path_1 = require("path");
5
+ const os_1 = require("os");
6
+ function testPaths() {
7
+ const os = (0, os_1.platform)();
8
+ const sourcePath = os === 'win32'
9
+ ? (0, path_1.join)(process.env.USERPROFILE || '', 'AppData', 'Local', 'ms-playwright')
10
+ : (0, path_1.join)(process.env.HOME || '', '.cache', 'ms-playwright');
11
+ console.log('Testing paths:');
12
+ console.log('Source path exists:', (0, fs_1.existsSync)(sourcePath));
13
+ if ((0, fs_1.existsSync)(sourcePath)) {
14
+ console.log('Source contents:', (0, fs_1.readdirSync)(sourcePath));
15
+ }
16
+ }
17
+ function testBrowserVersions() {
18
+ const browsersPath = (0, path_1.join)(process.cwd(), 'browsers');
19
+ console.log('\nTesting browser versions:');
20
+ console.log('Browsers path exists:', (0, fs_1.existsSync)(browsersPath));
21
+ if ((0, fs_1.existsSync)(browsersPath)) {
22
+ console.log('Installed browsers:', (0, fs_1.readdirSync)(browsersPath));
23
+ }
24
+ }
25
+ console.log('Running setup tests...\n');
26
+ testPaths();
27
+ testBrowserVersions();
28
+ //# sourceMappingURL=test-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../../nodes/scripts/test-setup.ts"],"names":[],"mappings":";;AAAA,2BAA6C;AAC7C,+BAA4B;AAC5B,2BAA8B;AAE9B,SAAS,SAAS;IACd,MAAM,EAAE,GAAG,IAAA,aAAQ,GAAE,CAAC;IACtB,MAAM,UAAU,GAAG,EAAE,KAAK,OAAO;QAC7B,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC;QAC1E,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IAE9D,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAA,eAAU,EAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAA,gBAAW,EAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IACxB,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAA,gBAAW,EAAC,YAAY,CAAC,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACxC,SAAS,EAAE,CAAC;AACZ,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "n8n-nodes-playwright",
3
+ "version": "0.1.1",
4
+ "description": "n8n-community-node-package for browser automation using Playwright",
5
+ "keywords": [
6
+ "n8n-community-node-package"
7
+ ],
8
+ "license": "MIT",
9
+ "homepage": "",
10
+ "author": {
11
+ "name": "Mohamed Toema",
12
+ "email": "m.toema20@gmail.com"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/toema/n8n-playwright"
17
+ },
18
+ "engines": {
19
+ "node": ">=18.10",
20
+ "pnpm": ">=9.1"
21
+ },
22
+ "packageManager": "pnpm@9.1.4",
23
+ "main": "index.js",
24
+ "scripts": {
25
+ "preinstall": "npx only-allow pnpm",
26
+ "postinstall": "node dist/nodes/scripts/setup-browsers.js",
27
+ "rebuild": "node dist/nodes/scripts/setup-browsers.js",
28
+ "setup": "node dist/nodes/scripts/setup-browsers.js",
29
+ "test:setup": "ts-node scripts/test-setup.ts",
30
+ "setup:clean": "rm -rf dist/nodes/browsers && pnpm setup",
31
+ "build": "tsc && gulp build:icons",
32
+ "dev": "tsc --watch",
33
+ "format": "prettier nodes package.json --write",
34
+ "lint": "eslint nodes package.json",
35
+ "lintfix": "eslint nodes package.json --fix",
36
+ "prepublishOnly": "pnpm build && pnpm lint -c .eslintrc.prepublish.js nodes package.json"
37
+ },
38
+ "files": [
39
+ "dist",
40
+ "nodes/browsers"
41
+ ],
42
+ "n8n": {
43
+ "n8nNodesApiVersion": 1,
44
+ "nodes": [
45
+ "dist/nodes/Playwright/PlaywrightNode.node.js"
46
+ ]
47
+ },
48
+ "devDependencies": {
49
+ "@types/fs-extra": "^11.0.4",
50
+ "@types/node": "^22.10.1",
51
+ "@typescript-eslint/parser": "^7.15.0",
52
+ "eslint": "^8.56.0",
53
+ "eslint-plugin-n8n-nodes-base": "^1.16.1",
54
+ "gulp": "^4.0.2",
55
+ "n8n-workflow": "*",
56
+ "playwright": "^1.49.0",
57
+ "prettier": "^3.3.2",
58
+ "ts-node": "^10.9.2",
59
+ "typescript": "^5.5.3"
60
+ },
61
+ "peerDependencies": {
62
+ "n8n-workflow": "*"
63
+ },
64
+ "dependencies": {
65
+ "fs-extra": "^11.2.0",
66
+ "playwright": "^1.49.0"
67
+ }
68
+ }
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.5.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/compatibility/index.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/header.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/readable.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/file.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/fetch.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/formdata.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/connector.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/client.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/errors.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/dispatcher.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/global-dispatcher.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/global-origin.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/pool-stats.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/pool.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/handlers.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/balanced-pool.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/agent.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-interceptor.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-agent.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-client.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-pool.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-errors.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/proxy-agent.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/retry-handler.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/retry-agent.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/api.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/interceptors.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/util.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/cookies.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/patch.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/websocket.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/eventsource.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/filereader.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/content-type.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/cache.d.ts","../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/index.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/globals.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/assert.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/assert/strict.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/async_hooks.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/buffer.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/child_process.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/cluster.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/console.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/constants.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/crypto.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/dgram.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/dns.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/dns/promises.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/domain.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/dom-events.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/events.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/fs.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/fs/promises.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/http.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/http2.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/https.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/inspector.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/module.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/net.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/os.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/path.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/perf_hooks.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/process.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/punycode.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/querystring.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/readline.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/readline/promises.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/repl.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/sea.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/sqlite.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/stream.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/stream/promises.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/stream/consumers.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/stream/web.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/string_decoder.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/test.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/timers.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/timers/promises.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/tls.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/trace_events.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/tty.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/url.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/util.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/v8.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/vm.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/wasi.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/worker_threads.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/zlib.d.ts","../node_modules/.pnpm/@types+node@22.10.1/node_modules/@types/node/ts5.6/index.d.ts","../node_modules/.pnpm/form-data@4.0.0/node_modules/form-data/index.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/authentication.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/constants.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/deferredpromise.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/executionstatus.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/application.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/abstract/execution-base.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/expression.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/expression.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/workflow.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/workflow-activation.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/workflow-operation.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/workflowhooks.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/abstract/node.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/node-api.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/node-operation.error.d.ts","../node_modules/.pnpm/axios@1.6.7/node_modules/axios/index.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/interfaces.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/loggerproxy.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errorreporterproxy.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/types.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/gen/namedtypes.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/gen/kinds.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/gen/builders.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/lib/types.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/lib/path.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/lib/scope.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/lib/node-path.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/lib/path-visitor.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/gen/visitor.d.ts","../node_modules/.pnpm/ast-types@0.15.2/node_modules/ast-types/main.d.ts","../node_modules/.pnpm/recast@0.22.0/node_modules/recast/lib/options.d.ts","../node_modules/.pnpm/recast@0.22.0/node_modules/recast/lib/parser.d.ts","../node_modules/.pnpm/recast@0.22.0/node_modules/recast/lib/printer.d.ts","../node_modules/.pnpm/recast@0.22.0/node_modules/recast/main.d.ts","../node_modules/.pnpm/@n8n+tournament@1.0.2/node_modules/@n8n/tournament/dist/expressionsplitter.d.ts","../node_modules/.pnpm/@n8n+tournament@1.0.2/node_modules/@n8n/tournament/dist/expressionbuilder.d.ts","../node_modules/.pnpm/@n8n+tournament@1.0.2/node_modules/@n8n/tournament/dist/analysis.d.ts","../node_modules/.pnpm/@n8n+tournament@1.0.2/node_modules/@n8n/tournament/dist/index.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/expressionevaluatorproxy.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/nodehelpers.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/observableobject.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/telemetryhelpers.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/credential-access-error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/node-ssl.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/webhook-taken.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/workflow-deactivation.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/subworkflow-operation.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/cli-subworkflow-operation.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/trigger-close.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/expression-extension.error.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/errors/index.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/cron.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/globalstate.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/messageeventbus.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/routingnode.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/workflowdataproxy.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/versionednodetype.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/typevalidation.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/utils.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/type-guards.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/extensions/extensions.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/extensions/expressionextension.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/extensions/index.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/extensions/expressionparser.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/nativemethods/index.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/nodeparameters/filterparameter.d.ts","../node_modules/.pnpm/n8n-workflow@1.48.0/node_modules/n8n-workflow/dist/index.d.ts","../nodes/playwright/types.ts","../nodes/playwright/config.ts","../nodes/playwright/utils.ts","../node_modules/.pnpm/playwright-core@1.49.0/node_modules/playwright-core/types/protocol.d.ts","../node_modules/.pnpm/playwright-core@1.49.0/node_modules/playwright-core/types/structs.d.ts","../node_modules/.pnpm/playwright-core@1.49.0/node_modules/playwright-core/types/types.d.ts","../node_modules/.pnpm/playwright@1.49.0/node_modules/playwright/index.d.ts","../nodes/playwright/operations.ts","../nodes/playwright/playwright.node.ts","../nodes/scripts/setup-browsers.ts","../nodes/scripts/test-setup.ts","../nodes/playwright/playwright.node.json","../package.json","../node_modules/.pnpm/@types+jsonfile@6.1.4/node_modules/@types/jsonfile/index.d.ts","../node_modules/.pnpm/@types+jsonfile@6.1.4/node_modules/@types/jsonfile/utils.d.ts","../node_modules/.pnpm/@types+fs-extra@11.0.4/node_modules/@types/fs-extra/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true},"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a",{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true},"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"81184fe8e67d78ac4e5374650f0892d547d665d77da2b2f544b5d84729c4a15d","affectsGlobalScope":true},"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0",{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true},"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7",{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true},"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"875928df2f3e9a3aed4019539a15d04ff6140a06df6cd1b2feb836d22a81eaca","affectsGlobalScope":true},"e9ad08a376ac84948fcca0013d6f1d4ae4f9522e26b91f87945b97c99d7cc30b","eaf9ee1d90a35d56264f0bf39842282c58b9219e112ac7d0c1bce98c6c5da672","c15c4427ae7fd1dcd7f312a8a447ac93581b0d4664ddf151ecd07de4bf2bb9d7","5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6",{"version":"75c3400359d59fae5aed4c4a59fcd8a9760cf451e25dc2174cb5e08b9d4803e2","affectsGlobalScope":true},"94c4187083503a74f4544503b5a30e2bd7af0032dc739b0c9a7ce87f8bddc7b9","b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0",{"version":"3eb62baae4df08c9173e6903d3ca45942ccec8c3659b0565684a75f3292cffbb","affectsGlobalScope":true},{"version":"a85683ef86875f4ad4c6b7301bbcc63fb379a8d80d3d3fd735ee57f48ef8a47e","affectsGlobalScope":true},"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633",{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true},"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada",{"version":"9212c6e9d80cb45441a3614e95afd7235a55a18584c2ed32d6c1aca5a0c53d93","affectsGlobalScope":true},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true},"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4",{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true},{"version":"6bd91a2a356600dee28eb0438082d0799a18a974a6537c4410a796bab749813c","affectsGlobalScope":true},"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","ae25afbbf1ed5df63a177d67b9048bf7481067f1b8dc9c39212e59db94fc9fc6","ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a",{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true},"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","171fd8807643c46a9d17e843959abdf10480d57d60d38d061fb44a4c8d4a8cc4","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","d00d9369b2ee770658530f04dc09cd14deebdc6456816c5ecd5495911b1cae84","a69fe04ffcfb78fc4f9761397b97419f09629e3e7dc76f2980f85d03aeac39eb","8b9e20585ff8d1664c6cd14d4b02ccc46300a7cf30871fae19436a5babedd86d","3226c2a2af36d14aa551babd4154ad18042c0deb1509a61058c6b066cfddc30a","7e17bc482ade0e34ec7d328767bfd36b38acd50437af0da5b8fb0d2fbd2afb50","038a6396d4f8c66d6bacd7ab14f4b084c3ef1ea7fab5b7528d9832f9717fbcb1","054eafa956d5592e6a91c2553e5657ee3032ed50121a65da1079c96d82631459","14f2edd0618d9adaf83d22b55155ec41faddac678b4d158c8380e4325c8b36b6","d8a779627816583ed4fb309c04ae5559cf5c3929d9f4378085e1fe5de66f5b4a","aca223e907b2e6a5c7f94b506b260da1ac1aebd5b02bb52c1ad7867e04c7e8b1","c32c8968ae44372c2975dfb3f51876ba635a3598673118565f661a9efb8874e3","14e9055fab9d7252730a60f301fd64c0429ae6ac273df2e3424474836b44dbfc","4f39bb23970b0a1d9dcc0b6db6382c06cfd653c2e33fd5a1b83afb650912434f","d88eff4699ac491c3b470fe4ef7bd8eadefedb23d1ae7109da33e34f0538e321","64f353c0c41fd90d2ad429631442fcfbb51d97b77e3e3f3855f9ca6f0f04c2d7","f64487e06875cfbe0cc854328920403df337dc6c1925070995653ac71c266c0e","f682d02a03249dfe41da5857a371c99269a2649b7540bb43426b357b35a2f8e7","6ed8cd0313f2a4c0d3080c0d324b31be20766f53639161bef0405e1c8a888152","84e41060dd913fc5466aa6a04c5ebec55e9d76ab1f5e3917c8492797d8679701","e78705f977ecfcc36de9ab57841ad7a617ef649b07a995577fd857f1d175f730","5083850590c7890ffb680f0c9838f48b07eb8b2f7dbe02874858fcac0691705d","02a4a2284d423d8ccc3a77aa9257c34fdac28cddfb46f73178e60f6a1b1b31e9","3ee8e014aab37dbd755401967fbb9602221550038f6b8da6cedd5291a918ae0a","826f3c6a6d737e0d330522094a21cde94a202c5373448240ba483709cb829aec","7e4a23f6f3763da4a06900935d22acfd463c375cada5ab325e3980bd6c95d5b3","f3e045e81b47113fa02aaf9637b9ef84347610aaceda60a0d8316aabc3f03638","1bfe6db4f3dffacd1da82748cb8f0acec04e8a4d7bd36c09573d5d80a7dec28b","6a8d6deca8ec4250630fea4e5f23bd9bf0face98739ccd22e08a17173117155b","226dbfe4506447111bd898161d47850f8c57f04cbb6a3a6d487b7939dbf89b1b","13f846a45f738733c8a63a06eaa9f580e9c07eb7aed5d8a2c674114846a42175","9d14fcf0b69094271127c7b6acb36987be5d1bffa4eb948359549f040fb50349","e3a5287471fb08f053c06fd998632792aa5f022e45278f1e6dd55fb2fa9e7362","28a6c8eeb48e165920067b9193555649fc43c2a28c450f23f622e5eb043d9463","1147c3efa5a256bcd6a3d2cfaf764185b7120bf985f8412d9bae596a0348f77b","0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","1b5d04b01ffda14ab49924c1c5601c1d29df55ea9bfd281d38082730bebf0295","d6220bee7bd245bc2a377f1a8ef31c496132cc9c7e7e3937e7dd4cbbcec0b38d","da4868424f5ea67d59e98705dab39055000d839a1250ac0cc80bda366c89fddc","420f415e6e5f2550395698e535147339d66fcc5848699e5308d35d90927f72d1","d0a633354f887cc3190bddeba688c8d24706052351151ac199d9c58038faaec4","edd5e20e9eb8cb2eaf941d431af3ab69a9b94e7f5d8699b4c938fee1be8d53c4","315438c7c6fb8645f6862af11b4dcfb7784ebff919056da1dfc3007ac8d5468d","5830ba1f5c81d641b214365ef519d2856f92a584f6cd90cb688edf63c2b84d25","37020cf15e16fa6e1c6e2485cd51d6cbe74adee3b860ab49fb7528ca7e8e518e","1950d2a49c05c7aa6decfe409b552c4ea5fb156894cf0541b34999819bd778ea","32fe829960ff7120843f6dd20197e863aee3e81ecded415641a7500654d1bda7","393b1ed0dca4f0aac333e65f2e40dfedfa8b37ac60571e02b152d32d8c84d340","f46d50c283425bcc59d68ccf067b3672fb727f802652dc7d60d2e470fb956370","6a5a7df74a63e3c3e34c8d4eab2bc8bdc78e242331105e77a428daabcc8ee80a","0b4b6ca509cdb152e18ceeed526d17bb416e7e518508d859a0174977195f9a35","8131b8cb20786d5493b9d48f391c7579b9230ae1ce37a24482b50a753b1da428","0234584eaf3c5c21e7d3b79e1a9d71551e2a6fa5ca25bdc39c544f00e6e52b1e","304b0d21771513c0a36ed7179a9d1069bfa776e95f50b789ce898f3ef2b71514","a42e1c2eec0e747163afa705044664a39065215a8d66c930f8d43f118a9bc044","b30813c7fd97c6a52dc0acfd2444cc06f5fb84fbcc7c19f102bc4443d5199372","8dc10d735f5eecccbfe84231f0ed47c6059593629311210f0d3c94a4f08dd23e","951baa882e6e3e5026cb8a16f80a8bebec1caa35c3fa016c9a3ce6a338bd3123","310ae04779dbcfebfac4872bf27cf636b24324d20dd28132d4d5757bbc8abb2b","0a3f7038afb4012783d87c03e9d53a27ce9bdb6487e70bde9a024a04430c672a","3f6f70c077ed8d600aa24d8c0e83ba0dd5d2c5300d524cd2181efd30c0a62c72","b773bcdaeda86c0f58910cecd6c77a0bd60be763127c42cad5a64fe66799b1f6","0ca63470234437191f454f7f66b5815d79b59ebc636faa1de1194d282563e431","6d3b514475ee51ab5e99e4fc82ffcd6191d40c19dd197a1743111e0757c6f9c6","0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","716c6fce977a188f23ee5165e4179944a63e8620784a7054fc0dd81f6c348bb4","b79ef2d2e4d26abd3c9bc4e72d4daa09feb0e6044c7872b587bf6b43d8a8838d","44474654278b37f50e1ff14dc992ffaa6b2530989d7a9853bdb66203a36e080c",{"version":"88c3adb324e7159b8bf0f0cbf223d32cf788be7e2ddd61b9466b03acd370d18e","signature":"9848b4d4883e9868d6a2bc883e1e1bfd51ea63d70824e7ab03b120400286fd18"},{"version":"d7aea2830bc92c41383957124411a3f7a8218f800cfc43a125b1f54179a65287","signature":"70f0e9a5f5327424efd4b04acaa2279299bf28507b0b0e8beeb244779e92baf6"},{"version":"2e2a3d290be8db08ad664beb8e9eb379c6eae4c0d2a1a92ce4bee153a4c8c0b6","signature":"427943fba8bad18d4dbec78f4e76902eb5734574fb814d3f6bbd9b691aeccd94"},"6d2be267381fea1868d0154946740e826c153fd6c17c7a9d78b4a0db588d0a93","32727845ab5bd8a9ef3e4844c567c09f6d418fcf0f90d381c00652a6f23e7f6e","70f970ac222364baed72f4da852bcd7b8644354ca485a07c5f19ba1db4d8edee","b07f64ff6ec710998a62b07377fbda0ab4c313ba1f0055bfe9faa22cffedd47c",{"version":"c2753d81cf63cff3a93c70d293a7cf88ab1deead6c376419e8c00430c95c316a","signature":"0fe92e0c6115ae7b052a93b2bd3ab37de016873ce8dbe118bcee62bd33e42ae5"},{"version":"1825e0daf98ffabe6fb1be01ca753ecc85b376facee71c3fb03197dc763da7e5","signature":"6f1321d3054b87ebf1a8a92f8e6e0a84a97b8ed8d5352d9134b2e105b2e54dbd"},{"version":"5c21f3ab4f5841183ca3bf96c65916bda0dfac1c653d511ba76174add3dee0cb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fff25c93b2be5073950b072659497bc5b3828719a5fe53383d5d2163f224a366","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"7b54747b4a94964a126b3204b17002c8938628e71f2fa4414df9fac6dba4c82b",{"version":"67fa374df937a39b6c3b6b5b69a44678b347cad2417b5a27aa31d4332f776abf","signature":"36f480d3912d48a20679268e85ccfe641f337b697953b3362e88fe35e0f24ea4"},"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4"],"root":[[212,214],[219,224]],"options":{"declaration":true,"esModuleInterop":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":6,"useUnknownInCatchVariables":false},"fileIdsList":[[51,93,180],[51,93,178,179],[51,93],[51,93,180,181],[51,93,106,143,225,226],[51,93,106,136,143],[51,90,93],[51,92,93],[51,93,98,128],[51,93,94,99,105,106,113,125,136],[51,93,94,95,105,113],[46,47,48,51,93],[51,93,96,137],[51,93,97,98,106,114],[51,93,98,125,133],[51,93,99,101,105,113],[51,92,93,100],[51,93,101,102],[51,93,105],[51,93,103,105],[51,92,93,105],[51,93,105,106,107,125,136],[51,93,105,106,107,120,125,128],[51,88,93,141],[51,88,93,101,105,108,113,125,136,211],[51,93,105,106,108,109,113,125,133,136],[51,93,108,110,125,133,136],[51,93,105,111],[51,93,112,136,141],[51,93,101,105,113,125],[51,93,114],[51,93,115],[51,92,93,116],[51,90,91,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,211],[51,93,118],[51,93,119],[51,93,105,120,121],[51,93,120,122,137,139],[51,93,105,125,126,127,128],[51,93,125,127],[51,93,125,126],[51,93,128],[51,93,129],[51,90,93,125],[51,93,105,131,132],[51,93,131,132],[51,93,98,113,125,133],[51,93,134],[93],[49,50,51,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142],[51,93,113,135],[51,93,108,119,136],[51,93,98,137],[51,93,125,138],[51,93,112,139],[51,93,140],[51,93,98,105,107,116,125,136,139,141],[51,93,125,142],[51,93,165,166],[51,93,165],[51,93,164,166,168],[51,93,165,171,172],[51,93,164,168,169,170],[51,93,164,168,171,173],[51,93,164,168],[51,93,164,171],[51,93,164,165,167],[51,93,164,165,167,168,169,171,172,173],[51,93,108,125,143,211],[51,93,161],[51,93,149],[51,93,149,161],[51,93,150],[51,93,191],[51,93,150,161],[51,93,151],[51,93,149,150,151,154,155,157,158,159,187,188,189,190,191,192,193,194],[51,93,149,157,161],[51,93,157,158],[51,93,155],[51,93,154],[51,93,149,150,161],[51,93,153,161],[51,93,161,182],[51,93,205],[51,93,205,206],[51,93,108,145,146,147,148,152,153,156,161,162,163,183,184,185,186,195,196,197,198,199,200,201,202,203,204,207,208,209,210],[51,93,106,108,125,133,136,144,145,146,147,148,151,153,154,155,156,158,159,160,211],[51,93,152,161],[51,93,217],[51,93,94,105,106,125,215,216],[51,93,164],[51,93,175],[51,93,174,175,176,177],[51,60,64,93,136],[51,60,93,125,136],[51,55,93],[51,57,60,93,133,136],[51,93,113,133],[51,93,143],[51,55,93,143],[51,57,60,93,113,136],[51,52,53,56,59,93,105,125,136],[51,60,67,93],[51,52,58,93],[51,60,81,82,93],[51,56,60,93,128,136,143],[51,81,93,143],[51,54,55,93,143],[51,60,93],[51,54,55,56,57,58,59,60,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,85,86,87,93],[51,60,75,93],[51,60,67,68,93],[51,58,60,68,69,93],[51,59,93],[51,52,55,60,93],[51,60,64,68,69,93],[51,64,93],[51,58,60,63,93,136],[51,52,57,60,67,93],[51,93,125],[51,55,60,81,93,141,143],[51,93,229,268],[51,93,229,253,268],[51,93,268],[51,93,229],[51,93,229,254,268],[51,93,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267],[51,93,254,268],[51,93,212],[51,93,211,218],[51,93,114,115,211,212,214,219],[51,93,114,115,213],[51,93,94,106,114,115],[51,93,106,114,115]],"referencedMap":[[181,1],[180,2],[179,3],[182,4],[227,5],[225,6],[226,3],[90,7],[91,7],[92,8],[93,9],[94,10],[95,11],[46,3],[49,12],[47,3],[48,3],[96,13],[97,14],[98,15],[99,16],[100,17],[101,18],[102,18],[104,19],[103,20],[105,21],[106,22],[107,23],[89,24],[108,25],[109,26],[110,27],[111,28],[112,29],[113,30],[114,31],[115,32],[116,33],[117,34],[118,35],[119,36],[120,37],[121,37],[122,38],[123,3],[124,3],[125,39],[127,40],[126,41],[128,42],[129,43],[130,44],[131,45],[132,46],[133,47],[134,48],[51,49],[50,3],[143,50],[135,51],[136,52],[137,53],[138,54],[139,55],[140,56],[141,57],[142,58],[167,59],[166,60],[165,61],[173,62],[171,63],[172,64],[169,65],[170,66],[168,67],[174,68],[164,3],[160,3],[144,69],[145,3],[146,70],[196,3],[147,3],[163,71],[150,72],[157,73],[149,3],[192,74],[187,75],[194,76],[151,73],[195,77],[158,78],[159,79],[188,73],[191,80],[193,72],[189,81],[154,82],[190,81],[155,73],[148,3],[152,83],[183,84],[206,85],[208,3],[205,3],[207,86],[197,3],[211,87],[161,88],[162,70],[198,70],[209,85],[184,83],[210,70],[185,70],[199,83],[186,70],[204,70],[202,70],[203,70],[201,70],[153,89],[200,83],[156,70],[215,3],[216,90],[217,91],[218,90],[175,92],[176,93],[177,3],[178,94],[44,3],[45,3],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[18,3],[4,3],[19,3],[23,3],[20,3],[21,3],[22,3],[24,3],[25,3],[26,3],[5,3],[27,3],[28,3],[29,3],[30,3],[6,3],[34,3],[31,3],[32,3],[33,3],[35,3],[7,3],[36,3],[41,3],[42,3],[37,3],[38,3],[39,3],[40,3],[43,3],[1,3],[67,95],[77,96],[66,95],[87,97],[58,98],[57,99],[86,100],[80,101],[85,102],[60,103],[74,104],[59,105],[83,106],[55,107],[54,100],[84,108],[56,109],[61,110],[62,3],[65,110],[52,3],[88,111],[78,112],[69,113],[70,114],[72,115],[68,116],[71,117],[81,100],[63,118],[64,119],[73,120],[53,121],[76,112],[75,110],[79,3],[82,122],[228,3],[253,123],[254,124],[229,125],[232,125],[251,123],[252,123],[242,123],[241,126],[239,123],[234,123],[247,123],[245,123],[249,123],[233,123],[246,123],[250,123],[235,123],[236,123],[248,123],[230,123],[237,123],[238,123],[240,123],[244,123],[255,127],[243,123],[231,123],[268,128],[267,3],[262,127],[264,129],[263,127],[256,127],[257,127],[259,127],[261,127],[265,129],[266,129],[258,129],[260,129],[213,130],[219,131],[223,3],[220,132],[212,3],[214,133],[221,134],[222,135],[224,3]]},"version":"5.5.3"}
package/index.js ADDED
File without changes
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "n8n-nodes-playwright",
3
+ "version": "0.1.1",
4
+ "description": "n8n-community-node-package for browser automation using Playwright",
5
+ "keywords": [
6
+ "n8n-community-node-package"
7
+ ],
8
+ "license": "MIT",
9
+ "homepage": "",
10
+ "author": {
11
+ "name": "Mohamed Toema",
12
+ "email": "m.toema20@gmail.com"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/toema/n8n-playwright"
17
+ },
18
+ "engines": {
19
+ "node": ">=18.10",
20
+ "pnpm": ">=9.1"
21
+ },
22
+ "main": "index.js",
23
+ "files": [
24
+ "dist",
25
+ "nodes/browsers"
26
+ ],
27
+ "n8n": {
28
+ "n8nNodesApiVersion": 1,
29
+ "nodes": [
30
+ "dist/nodes/Playwright/PlaywrightNode.node.js"
31
+ ]
32
+ },
33
+ "devDependencies": {
34
+ "@types/fs-extra": "^11.0.4",
35
+ "@types/node": "^22.10.1",
36
+ "@typescript-eslint/parser": "^7.15.0",
37
+ "eslint": "^8.56.0",
38
+ "eslint-plugin-n8n-nodes-base": "^1.16.1",
39
+ "gulp": "^4.0.2",
40
+ "n8n-workflow": "*",
41
+ "playwright": "^1.49.0",
42
+ "prettier": "^3.3.2",
43
+ "ts-node": "^10.9.2",
44
+ "typescript": "^5.5.3"
45
+ },
46
+ "peerDependencies": {
47
+ "n8n-workflow": "*"
48
+ },
49
+ "dependencies": {
50
+ "fs-extra": "^11.2.0",
51
+ "playwright": "^1.49.0"
52
+ },
53
+ "scripts": {
54
+ "preinstall": "npx only-allow pnpm",
55
+ "postinstall": "node dist/nodes/scripts/setup-browsers.js",
56
+ "rebuild": "node dist/nodes/scripts/setup-browsers.js",
57
+ "setup": "node dist/nodes/scripts/setup-browsers.js",
58
+ "test:setup": "ts-node scripts/test-setup.ts",
59
+ "setup:clean": "rm -rf dist/nodes/browsers && pnpm setup",
60
+ "build": "tsc && gulp build:icons",
61
+ "dev": "tsc --watch",
62
+ "format": "prettier nodes package.json --write",
63
+ "lint": "eslint nodes package.json",
64
+ "lintfix": "eslint nodes package.json --fix"
65
+ }
66
+ }