pokeedex 0.1.0 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -5
- data/bin/pokeedex +1 -44
- data/lib/pokeedex/configuration.rb +0 -6
- data/lib/pokeedex/install_playwright.rb +62 -0
- data/lib/pokeedex/pokemon/scrapper/fetchers/base.rb +1 -1
- data/lib/pokeedex/version.rb +1 -1
- data/lib/pokeedex.rb +5 -2
- data/spec/pokeedex/configuration_spec.rb +0 -7
- data/spec/spec_helper.rb +1 -1
- metadata +2 -550
- data/node_modules/.bin/playwright +0 -1
- data/node_modules/.bin/playwright-core +0 -1
- data/node_modules/.yarn-integrity +0 -22
- data/node_modules/@playwright/test/LICENSE +0 -202
- data/node_modules/@playwright/test/NOTICE +0 -5
- data/node_modules/@playwright/test/README.md +0 -169
- data/node_modules/@playwright/test/cli.js +0 -19
- data/node_modules/@playwright/test/index.d.ts +0 -18
- data/node_modules/@playwright/test/index.js +0 -17
- data/node_modules/@playwright/test/index.mjs +0 -18
- data/node_modules/@playwright/test/node_modules/.bin/playwright +0 -1
- data/node_modules/@playwright/test/package.json +0 -35
- data/node_modules/@playwright/test/reporter.d.ts +0 -17
- data/node_modules/@playwright/test/reporter.js +0 -17
- data/node_modules/@playwright/test/reporter.mjs +0 -17
- data/node_modules/@types/node/LICENSE +0 -21
- data/node_modules/@types/node/README.md +0 -15
- data/node_modules/@types/node/assert/strict.d.ts +0 -8
- data/node_modules/@types/node/assert.d.ts +0 -1040
- data/node_modules/@types/node/async_hooks.d.ts +0 -541
- data/node_modules/@types/node/buffer.d.ts +0 -2300
- data/node_modules/@types/node/child_process.d.ts +0 -1544
- data/node_modules/@types/node/cluster.d.ts +0 -578
- data/node_modules/@types/node/console.d.ts +0 -452
- data/node_modules/@types/node/constants.d.ts +0 -19
- data/node_modules/@types/node/crypto.d.ts +0 -4451
- data/node_modules/@types/node/dgram.d.ts +0 -596
- data/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
- data/node_modules/@types/node/dns/promises.d.ts +0 -476
- data/node_modules/@types/node/dns.d.ts +0 -865
- data/node_modules/@types/node/dom-events.d.ts +0 -124
- data/node_modules/@types/node/domain.d.ts +0 -170
- data/node_modules/@types/node/events.d.ts +0 -931
- data/node_modules/@types/node/fs/promises.d.ts +0 -1264
- data/node_modules/@types/node/fs.d.ts +0 -4390
- data/node_modules/@types/node/globals.d.ts +0 -611
- data/node_modules/@types/node/globals.global.d.ts +0 -1
- data/node_modules/@types/node/http.d.ts +0 -1921
- data/node_modules/@types/node/http2.d.ts +0 -2555
- data/node_modules/@types/node/https.d.ts +0 -544
- data/node_modules/@types/node/index.d.ts +0 -90
- data/node_modules/@types/node/inspector.d.ts +0 -3966
- data/node_modules/@types/node/module.d.ts +0 -301
- data/node_modules/@types/node/net.d.ts +0 -995
- data/node_modules/@types/node/os.d.ts +0 -495
- data/node_modules/@types/node/package.json +0 -217
- data/node_modules/@types/node/path.d.ts +0 -200
- data/node_modules/@types/node/perf_hooks.d.ts +0 -941
- data/node_modules/@types/node/process.d.ts +0 -1912
- data/node_modules/@types/node/punycode.d.ts +0 -117
- data/node_modules/@types/node/querystring.d.ts +0 -153
- data/node_modules/@types/node/readline/promises.d.ts +0 -150
- data/node_modules/@types/node/readline.d.ts +0 -540
- data/node_modules/@types/node/repl.d.ts +0 -430
- data/node_modules/@types/node/sea.d.ts +0 -153
- data/node_modules/@types/node/sqlite.d.ts +0 -213
- data/node_modules/@types/node/stream/consumers.d.ts +0 -12
- data/node_modules/@types/node/stream/promises.d.ts +0 -83
- data/node_modules/@types/node/stream/web.d.ts +0 -606
- data/node_modules/@types/node/stream.d.ts +0 -1726
- data/node_modules/@types/node/string_decoder.d.ts +0 -67
- data/node_modules/@types/node/test.d.ts +0 -2098
- data/node_modules/@types/node/timers/promises.d.ts +0 -97
- data/node_modules/@types/node/timers.d.ts +0 -240
- data/node_modules/@types/node/tls.d.ts +0 -1220
- data/node_modules/@types/node/trace_events.d.ts +0 -197
- data/node_modules/@types/node/tty.d.ts +0 -208
- data/node_modules/@types/node/url.d.ts +0 -969
- data/node_modules/@types/node/util.d.ts +0 -2301
- data/node_modules/@types/node/v8.d.ts +0 -808
- data/node_modules/@types/node/vm.d.ts +0 -922
- data/node_modules/@types/node/wasi.d.ts +0 -181
- data/node_modules/@types/node/worker_threads.d.ts +0 -712
- data/node_modules/@types/node/zlib.d.ts +0 -539
- data/node_modules/fsevents/LICENSE +0 -22
- data/node_modules/fsevents/README.md +0 -83
- data/node_modules/fsevents/fsevents.d.ts +0 -46
- data/node_modules/fsevents/fsevents.js +0 -82
- data/node_modules/fsevents/fsevents.node +0 -0
- data/node_modules/fsevents/package.json +0 -62
- data/node_modules/playwright/.eslintrc.js +0 -6
- data/node_modules/playwright/LICENSE +0 -202
- data/node_modules/playwright/NOTICE +0 -5
- data/node_modules/playwright/README.md +0 -169
- data/node_modules/playwright/ThirdPartyNotices.txt +0 -4356
- data/node_modules/playwright/cli.js +0 -19
- data/node_modules/playwright/index.d.ts +0 -17
- data/node_modules/playwright/index.js +0 -17
- data/node_modules/playwright/index.mjs +0 -18
- data/node_modules/playwright/jsx-runtime.js +0 -41
- data/node_modules/playwright/jsx-runtime.mjs +0 -21
- data/node_modules/playwright/lib/common/config.js +0 -256
- data/node_modules/playwright/lib/common/configLoader.js +0 -321
- data/node_modules/playwright/lib/common/esmLoaderHost.js +0 -93
- data/node_modules/playwright/lib/common/expectBundle.js +0 -27
- data/node_modules/playwright/lib/common/expectBundleImpl.js +0 -389
- data/node_modules/playwright/lib/common/fixtures.js +0 -323
- data/node_modules/playwright/lib/common/globals.js +0 -48
- data/node_modules/playwright/lib/common/ipc.js +0 -48
- data/node_modules/playwright/lib/common/poolBuilder.js +0 -79
- data/node_modules/playwright/lib/common/process.js +0 -140
- data/node_modules/playwright/lib/common/suiteUtils.js +0 -133
- data/node_modules/playwright/lib/common/test.js +0 -311
- data/node_modules/playwright/lib/common/testLoader.js +0 -102
- data/node_modules/playwright/lib/common/testType.js +0 -284
- data/node_modules/playwright/lib/fsWatcher.js +0 -69
- data/node_modules/playwright/lib/index.js +0 -888
- data/node_modules/playwright/lib/internalsForTest.js +0 -28
- data/node_modules/playwright/lib/isomorphic/events.js +0 -72
- data/node_modules/playwright/lib/isomorphic/folders.js +0 -25
- data/node_modules/playwright/lib/isomorphic/stringInternPool.js +0 -58
- data/node_modules/playwright/lib/isomorphic/teleReceiver.js +0 -504
- data/node_modules/playwright/lib/isomorphic/teleSuiteUpdater.js +0 -149
- data/node_modules/playwright/lib/isomorphic/testServerConnection.js +0 -210
- data/node_modules/playwright/lib/isomorphic/testServerInterface.js +0 -5
- data/node_modules/playwright/lib/isomorphic/testTree.js +0 -272
- data/node_modules/playwright/lib/loader/loaderMain.js +0 -58
- data/node_modules/playwright/lib/matchers/expect.js +0 -297
- data/node_modules/playwright/lib/matchers/matcherHint.js +0 -50
- data/node_modules/playwright/lib/matchers/matchers.js +0 -449
- data/node_modules/playwright/lib/matchers/toBeTruthy.js +0 -55
- data/node_modules/playwright/lib/matchers/toEqual.js +0 -57
- data/node_modules/playwright/lib/matchers/toMatchSnapshot.js +0 -383
- data/node_modules/playwright/lib/matchers/toMatchText.js +0 -76
- data/node_modules/playwright/lib/plugins/gitCommitInfoPlugin.js +0 -78
- data/node_modules/playwright/lib/plugins/index.js +0 -19
- data/node_modules/playwright/lib/plugins/webServerPlugin.js +0 -187
- data/node_modules/playwright/lib/program.js +0 -346
- data/node_modules/playwright/lib/reporters/base.js +0 -553
- data/node_modules/playwright/lib/reporters/blob.js +0 -133
- data/node_modules/playwright/lib/reporters/dot.js +0 -82
- data/node_modules/playwright/lib/reporters/empty.js +0 -42
- data/node_modules/playwright/lib/reporters/github.js +0 -115
- data/node_modules/playwright/lib/reporters/html.js +0 -623
- data/node_modules/playwright/lib/reporters/internalReporter.js +0 -123
- data/node_modules/playwright/lib/reporters/json.js +0 -243
- data/node_modules/playwright/lib/reporters/junit.js +0 -233
- data/node_modules/playwright/lib/reporters/line.js +0 -108
- data/node_modules/playwright/lib/reporters/list.js +0 -222
- data/node_modules/playwright/lib/reporters/markdown.js +0 -76
- data/node_modules/playwright/lib/reporters/merge.js +0 -477
- data/node_modules/playwright/lib/reporters/multiplexer.js +0 -90
- data/node_modules/playwright/lib/reporters/reporterV2.js +0 -118
- data/node_modules/playwright/lib/reporters/teleEmitter.js +0 -268
- data/node_modules/playwright/lib/reporters/versions/blobV1.js +0 -5
- data/node_modules/playwright/lib/runner/dispatcher.js +0 -532
- data/node_modules/playwright/lib/runner/failureTracker.js +0 -60
- data/node_modules/playwright/lib/runner/loadUtils.js +0 -308
- data/node_modules/playwright/lib/runner/loaderHost.js +0 -85
- data/node_modules/playwright/lib/runner/processHost.js +0 -175
- data/node_modules/playwright/lib/runner/projectUtils.js +0 -203
- data/node_modules/playwright/lib/runner/reporters.js +0 -151
- data/node_modules/playwright/lib/runner/runner.js +0 -179
- data/node_modules/playwright/lib/runner/sigIntWatcher.js +0 -100
- data/node_modules/playwright/lib/runner/taskRunner.js +0 -147
- data/node_modules/playwright/lib/runner/tasks.js +0 -407
- data/node_modules/playwright/lib/runner/testGroups.js +0 -136
- data/node_modules/playwright/lib/runner/testServer.js +0 -605
- data/node_modules/playwright/lib/runner/uiModeReporter.js +0 -31
- data/node_modules/playwright/lib/runner/vcs.js +0 -55
- data/node_modules/playwright/lib/runner/watchMode.js +0 -398
- data/node_modules/playwright/lib/runner/workerHost.js +0 -85
- data/node_modules/playwright/lib/third_party/tsconfig-loader.js +0 -134
- data/node_modules/playwright/lib/transform/babelBundle.js +0 -28
- data/node_modules/playwright/lib/transform/babelBundleImpl.js +0 -2032
- data/node_modules/playwright/lib/transform/compilationCache.js +0 -254
- data/node_modules/playwright/lib/transform/esmLoader.js +0 -117
- data/node_modules/playwright/lib/transform/esmUtils.js +0 -32
- data/node_modules/playwright/lib/transform/portTransport.js +0 -81
- data/node_modules/playwright/lib/transform/transform.js +0 -267
- data/node_modules/playwright/lib/util.js +0 -356
- data/node_modules/playwright/lib/utilsBundle.js +0 -28
- data/node_modules/playwright/lib/utilsBundleImpl.js +0 -102
- data/node_modules/playwright/lib/worker/fixtureRunner.js +0 -279
- data/node_modules/playwright/lib/worker/testInfo.js +0 -397
- data/node_modules/playwright/lib/worker/testTracing.js +0 -314
- data/node_modules/playwright/lib/worker/timeoutManager.js +0 -153
- data/node_modules/playwright/lib/worker/workerMain.js +0 -637
- data/node_modules/playwright/node_modules/.bin/playwright-core +0 -1
- data/node_modules/playwright/package.json +0 -66
- data/node_modules/playwright/test.d.ts +0 -18
- data/node_modules/playwright/test.js +0 -24
- data/node_modules/playwright/test.mjs +0 -33
- data/node_modules/playwright/types/test.d.ts +0 -8444
- data/node_modules/playwright/types/testReporter.d.ts +0 -749
- data/node_modules/playwright-core/LICENSE +0 -202
- data/node_modules/playwright-core/NOTICE +0 -5
- data/node_modules/playwright-core/README.md +0 -3
- data/node_modules/playwright-core/ThirdPartyNotices.txt +0 -1548
- data/node_modules/playwright-core/bin/PrintDeps.exe +0 -0
- data/node_modules/playwright-core/bin/README.md +0 -2
- data/node_modules/playwright-core/bin/install_media_pack.ps1 +0 -5
- data/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -13
- data/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +0 -24
- data/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -12
- data/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +0 -24
- data/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -11
- data/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +0 -23
- data/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -11
- data/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +0 -23
- data/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -11
- data/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +0 -24
- data/node_modules/playwright-core/browsers.json +0 -53
- data/node_modules/playwright-core/cli.js +0 -18
- data/node_modules/playwright-core/index.d.ts +0 -17
- data/node_modules/playwright-core/index.js +0 -33
- data/node_modules/playwright-core/index.mjs +0 -28
- data/node_modules/playwright-core/lib/androidServerImpl.js +0 -69
- data/node_modules/playwright-core/lib/browserServerImpl.js +0 -92
- data/node_modules/playwright-core/lib/cli/driver.js +0 -95
- data/node_modules/playwright-core/lib/cli/program.js +0 -577
- data/node_modules/playwright-core/lib/cli/programWithTestStub.js +0 -67
- data/node_modules/playwright-core/lib/client/accessibility.js +0 -50
- data/node_modules/playwright-core/lib/client/android.js +0 -473
- data/node_modules/playwright-core/lib/client/api.js +0 -279
- data/node_modules/playwright-core/lib/client/artifact.js +0 -79
- data/node_modules/playwright-core/lib/client/browser.js +0 -145
- data/node_modules/playwright-core/lib/client/browserContext.js +0 -541
- data/node_modules/playwright-core/lib/client/browserType.js +0 -241
- data/node_modules/playwright-core/lib/client/cdpSession.js +0 -53
- data/node_modules/playwright-core/lib/client/channelOwner.js +0 -231
- data/node_modules/playwright-core/lib/client/clientHelper.js +0 -57
- data/node_modules/playwright-core/lib/client/clientInstrumentation.js +0 -50
- data/node_modules/playwright-core/lib/client/clock.js +0 -68
- data/node_modules/playwright-core/lib/client/connection.js +0 -330
- data/node_modules/playwright-core/lib/client/consoleMessage.js +0 -55
- data/node_modules/playwright-core/lib/client/coverage.js +0 -41
- data/node_modules/playwright-core/lib/client/dialog.js +0 -57
- data/node_modules/playwright-core/lib/client/download.js +0 -62
- data/node_modules/playwright-core/lib/client/electron.js +0 -135
- data/node_modules/playwright-core/lib/client/elementHandle.js +0 -321
- data/node_modules/playwright-core/lib/client/errors.js +0 -77
- data/node_modules/playwright-core/lib/client/eventEmitter.js +0 -314
- data/node_modules/playwright-core/lib/client/events.js +0 -94
- data/node_modules/playwright-core/lib/client/fetch.js +0 -396
- data/node_modules/playwright-core/lib/client/fileChooser.js +0 -45
- data/node_modules/playwright-core/lib/client/frame.js +0 -504
- data/node_modules/playwright-core/lib/client/harRouter.js +0 -99
- data/node_modules/playwright-core/lib/client/input.js +0 -111
- data/node_modules/playwright-core/lib/client/jsHandle.js +0 -129
- data/node_modules/playwright-core/lib/client/jsonPipe.js +0 -35
- data/node_modules/playwright-core/lib/client/localUtils.js +0 -35
- data/node_modules/playwright-core/lib/client/locator.js +0 -441
- data/node_modules/playwright-core/lib/client/network.js +0 -604
- data/node_modules/playwright-core/lib/client/page.js +0 -725
- data/node_modules/playwright-core/lib/client/playwright.js +0 -77
- data/node_modules/playwright-core/lib/client/selectors.js +0 -67
- data/node_modules/playwright-core/lib/client/stream.js +0 -54
- data/node_modules/playwright-core/lib/client/tracing.js +0 -138
- data/node_modules/playwright-core/lib/client/types.js +0 -24
- data/node_modules/playwright-core/lib/client/video.js +0 -51
- data/node_modules/playwright-core/lib/client/waiter.js +0 -158
- data/node_modules/playwright-core/lib/client/webError.js +0 -37
- data/node_modules/playwright-core/lib/client/worker.js +0 -71
- data/node_modules/playwright-core/lib/client/writableStream.js +0 -54
- data/node_modules/playwright-core/lib/common/socksProxy.js +0 -569
- data/node_modules/playwright-core/lib/common/timeoutSettings.js +0 -73
- data/node_modules/playwright-core/lib/common/types.js +0 -5
- data/node_modules/playwright-core/lib/generated/clockSource.js +0 -7
- data/node_modules/playwright-core/lib/generated/consoleApiSource.js +0 -7
- data/node_modules/playwright-core/lib/generated/injectedScriptSource.js +0 -7
- data/node_modules/playwright-core/lib/generated/recorderSource.js +0 -7
- data/node_modules/playwright-core/lib/generated/utilityScriptSource.js +0 -7
- data/node_modules/playwright-core/lib/image_tools/colorUtils.js +0 -98
- data/node_modules/playwright-core/lib/image_tools/compare.js +0 -108
- data/node_modules/playwright-core/lib/image_tools/imageChannel.js +0 -70
- data/node_modules/playwright-core/lib/image_tools/stats.js +0 -102
- data/node_modules/playwright-core/lib/inProcessFactory.js +0 -54
- data/node_modules/playwright-core/lib/inprocess.js +0 -20
- data/node_modules/playwright-core/lib/outofprocess.js +0 -67
- data/node_modules/playwright-core/lib/protocol/debug.js +0 -27
- data/node_modules/playwright-core/lib/protocol/serializers.js +0 -173
- data/node_modules/playwright-core/lib/protocol/transport.js +0 -82
- data/node_modules/playwright-core/lib/protocol/validator.js +0 -2694
- data/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +0 -139
- data/node_modules/playwright-core/lib/remote/playwrightConnection.js +0 -274
- data/node_modules/playwright-core/lib/remote/playwrightServer.js +0 -110
- data/node_modules/playwright-core/lib/server/accessibility.js +0 -62
- data/node_modules/playwright-core/lib/server/android/android.js +0 -441
- data/node_modules/playwright-core/lib/server/android/backendAdb.js +0 -172
- data/node_modules/playwright-core/lib/server/artifact.js +0 -104
- data/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +0 -296
- data/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +0 -206
- data/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +0 -162
- data/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +0 -110
- data/node_modules/playwright-core/lib/server/bidi/bidiInput.js +0 -174
- data/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +0 -304
- data/node_modules/playwright-core/lib/server/bidi/bidiPage.js +0 -456
- data/node_modules/playwright-core/lib/server/bidi/third_party/bidiDeserializer.js +0 -93
- data/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +0 -238
- data/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +0 -139
- data/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +0 -144
- data/node_modules/playwright-core/lib/server/browser.js +0 -137
- data/node_modules/playwright-core/lib/server/browserContext.js +0 -684
- data/node_modules/playwright-core/lib/server/browserType.js +0 -307
- data/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
- data/node_modules/playwright-core/lib/server/chromium/chromium.js +0 -362
- data/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +0 -44
- data/node_modules/playwright-core/lib/server/chromium/crAccessibility.js +0 -237
- data/node_modules/playwright-core/lib/server/chromium/crBrowser.js +0 -515
- data/node_modules/playwright-core/lib/server/chromium/crConnection.js +0 -228
- data/node_modules/playwright-core/lib/server/chromium/crCoverage.js +0 -246
- data/node_modules/playwright-core/lib/server/chromium/crDevTools.js +0 -104
- data/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +0 -143
- data/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +0 -156
- data/node_modules/playwright-core/lib/server/chromium/crInput.js +0 -171
- data/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +0 -767
- data/node_modules/playwright-core/lib/server/chromium/crPage.js +0 -1128
- data/node_modules/playwright-core/lib/server/chromium/crPdf.js +0 -153
- data/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +0 -133
- data/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +0 -112
- data/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +0 -145
- data/node_modules/playwright-core/lib/server/chromium/videoRecorder.js +0 -155
- data/node_modules/playwright-core/lib/server/clock.js +0 -125
- data/node_modules/playwright-core/lib/server/codegen/csharp.js +0 -299
- data/node_modules/playwright-core/lib/server/codegen/java.js +0 -235
- data/node_modules/playwright-core/lib/server/codegen/javascript.js +0 -223
- data/node_modules/playwright-core/lib/server/codegen/jsonl.js +0 -47
- data/node_modules/playwright-core/lib/server/codegen/language.js +0 -76
- data/node_modules/playwright-core/lib/server/codegen/languages.js +0 -30
- data/node_modules/playwright-core/lib/server/codegen/python.js +0 -265
- data/node_modules/playwright-core/lib/server/codegen/types.js +0 -5
- data/node_modules/playwright-core/lib/server/console.js +0 -57
- data/node_modules/playwright-core/lib/server/cookieStore.js +0 -112
- data/node_modules/playwright-core/lib/server/debugController.js +0 -234
- data/node_modules/playwright-core/lib/server/debugger.js +0 -132
- data/node_modules/playwright-core/lib/server/deviceDescriptors.js +0 -26
- data/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +0 -1669
- data/node_modules/playwright-core/lib/server/dialog.js +0 -70
- data/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +0 -193
- data/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +0 -118
- data/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +0 -351
- data/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +0 -170
- data/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +0 -55
- data/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +0 -48
- data/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +0 -103
- data/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +0 -44
- data/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +0 -395
- data/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +0 -93
- data/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +0 -228
- data/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +0 -286
- data/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +0 -102
- data/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +0 -59
- data/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +0 -413
- data/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +0 -221
- data/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +0 -358
- data/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +0 -106
- data/node_modules/playwright-core/lib/server/dispatchers/selectorsDispatcher.js +0 -36
- data/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +0 -62
- data/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +0 -54
- data/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +0 -58
- data/node_modules/playwright-core/lib/server/dom.js +0 -845
- data/node_modules/playwright-core/lib/server/download.js +0 -53
- data/node_modules/playwright-core/lib/server/electron/electron.js +0 -296
- data/node_modules/playwright-core/lib/server/electron/loader.js +0 -57
- data/node_modules/playwright-core/lib/server/errors.js +0 -68
- data/node_modules/playwright-core/lib/server/fetch.js +0 -660
- data/node_modules/playwright-core/lib/server/fileChooser.js +0 -42
- data/node_modules/playwright-core/lib/server/fileUploadUtils.js +0 -75
- data/node_modules/playwright-core/lib/server/firefox/ffAccessibility.js +0 -216
- data/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +0 -458
- data/node_modules/playwright-core/lib/server/firefox/ffConnection.js +0 -168
- data/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +0 -138
- data/node_modules/playwright-core/lib/server/firefox/ffInput.js +0 -150
- data/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +0 -233
- data/node_modules/playwright-core/lib/server/firefox/ffPage.js +0 -556
- data/node_modules/playwright-core/lib/server/firefox/firefox.js +0 -110
- data/node_modules/playwright-core/lib/server/formData.js +0 -75
- data/node_modules/playwright-core/lib/server/frameSelectors.js +0 -171
- data/node_modules/playwright-core/lib/server/frames.js +0 -1654
- data/node_modules/playwright-core/lib/server/har/harRecorder.js +0 -139
- data/node_modules/playwright-core/lib/server/har/harTracer.js +0 -531
- data/node_modules/playwright-core/lib/server/helper.js +0 -103
- data/node_modules/playwright-core/lib/server/index.js +0 -114
- data/node_modules/playwright-core/lib/server/input.js +0 -311
- data/node_modules/playwright-core/lib/server/instrumentation.js +0 -70
- data/node_modules/playwright-core/lib/server/isomorphic/utilityScriptSerializers.js +0 -226
- data/node_modules/playwright-core/lib/server/javascript.js +0 -306
- data/node_modules/playwright-core/lib/server/launchApp.js +0 -91
- data/node_modules/playwright-core/lib/server/macEditingCommands.js +0 -139
- data/node_modules/playwright-core/lib/server/network.js +0 -617
- data/node_modules/playwright-core/lib/server/page.js +0 -825
- data/node_modules/playwright-core/lib/server/pipeTransport.js +0 -85
- data/node_modules/playwright-core/lib/server/playwright.js +0 -85
- data/node_modules/playwright-core/lib/server/progress.js +0 -102
- data/node_modules/playwright-core/lib/server/protocolError.js +0 -49
- data/node_modules/playwright-core/lib/server/recorder/contextRecorder.js +0 -316
- data/node_modules/playwright-core/lib/server/recorder/recorderActions.js +0 -5
- data/node_modules/playwright-core/lib/server/recorder/recorderApp.js +0 -190
- data/node_modules/playwright-core/lib/server/recorder/recorderCollection.js +0 -127
- data/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +0 -177
- data/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +0 -71
- data/node_modules/playwright-core/lib/server/recorder/throttledFile.js +0 -46
- data/node_modules/playwright-core/lib/server/recorder.js +0 -324
- data/node_modules/playwright-core/lib/server/registry/browserFetcher.js +0 -168
- data/node_modules/playwright-core/lib/server/registry/dependencies.js +0 -322
- data/node_modules/playwright-core/lib/server/registry/index.js +0 -924
- data/node_modules/playwright-core/lib/server/registry/nativeDeps.js +0 -490
- data/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +0 -138
- data/node_modules/playwright-core/lib/server/screenshotter.js +0 -348
- data/node_modules/playwright-core/lib/server/selectors.js +0 -73
- data/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +0 -328
- data/node_modules/playwright-core/lib/server/socksInterceptor.js +0 -100
- data/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +0 -171
- data/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +0 -493
- data/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +0 -486
- data/node_modules/playwright-core/lib/server/trace/test/inMemorySnapshotter.js +0 -93
- data/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +0 -216
- data/node_modules/playwright-core/lib/server/transport.js +0 -191
- data/node_modules/playwright-core/lib/server/types.js +0 -24
- data/node_modules/playwright-core/lib/server/usKeyboardLayout.js +0 -555
- data/node_modules/playwright-core/lib/server/webkit/webkit.js +0 -87
- data/node_modules/playwright-core/lib/server/webkit/wkAccessibility.js +0 -194
- data/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +0 -328
- data/node_modules/playwright-core/lib/server/webkit/wkConnection.js +0 -173
- data/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +0 -146
- data/node_modules/playwright-core/lib/server/webkit/wkInput.js +0 -169
- data/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +0 -162
- data/node_modules/playwright-core/lib/server/webkit/wkPage.js +0 -1216
- data/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +0 -94
- data/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +0 -104
- data/node_modules/playwright-core/lib/third_party/diff_match_patch.js +0 -2222
- data/node_modules/playwright-core/lib/third_party/pixelmatch.js +0 -255
- data/node_modules/playwright-core/lib/utils/ascii.js +0 -31
- data/node_modules/playwright-core/lib/utils/comparators.js +0 -171
- data/node_modules/playwright-core/lib/utils/crypto.js +0 -174
- data/node_modules/playwright-core/lib/utils/debug.js +0 -46
- data/node_modules/playwright-core/lib/utils/debugLogger.js +0 -91
- data/node_modules/playwright-core/lib/utils/env.js +0 -49
- data/node_modules/playwright-core/lib/utils/eventsHelper.js +0 -38
- data/node_modules/playwright-core/lib/utils/expectUtils.js +0 -33
- data/node_modules/playwright-core/lib/utils/fileUtils.js +0 -205
- data/node_modules/playwright-core/lib/utils/happy-eyeballs.js +0 -181
- data/node_modules/playwright-core/lib/utils/headers.js +0 -52
- data/node_modules/playwright-core/lib/utils/hostPlatform.js +0 -133
- data/node_modules/playwright-core/lib/utils/httpServer.js +0 -236
- data/node_modules/playwright-core/lib/utils/index.js +0 -368
- data/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +0 -250
- data/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +0 -979
- data/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +0 -651
- data/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +0 -179
- data/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +0 -62
- data/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +0 -29
- data/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +0 -397
- data/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +0 -139
- data/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +0 -39
- data/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +0 -120
- data/node_modules/playwright-core/lib/utils/linuxUtils.js +0 -78
- data/node_modules/playwright-core/lib/utils/manualPromise.js +0 -109
- data/node_modules/playwright-core/lib/utils/multimap.js +0 -75
- data/node_modules/playwright-core/lib/utils/network.js +0 -160
- data/node_modules/playwright-core/lib/utils/processLauncher.js +0 -248
- data/node_modules/playwright-core/lib/utils/profiler.js +0 -53
- data/node_modules/playwright-core/lib/utils/rtti.js +0 -44
- data/node_modules/playwright-core/lib/utils/semaphore.js +0 -51
- data/node_modules/playwright-core/lib/utils/spawnAsync.js +0 -45
- data/node_modules/playwright-core/lib/utils/stackTrace.js +0 -121
- data/node_modules/playwright-core/lib/utils/task.js +0 -58
- data/node_modules/playwright-core/lib/utils/time.js +0 -37
- data/node_modules/playwright-core/lib/utils/timeoutRunner.js +0 -66
- data/node_modules/playwright-core/lib/utils/traceUtils.js +0 -44
- data/node_modules/playwright-core/lib/utils/userAgent.js +0 -105
- data/node_modules/playwright-core/lib/utils/wsServer.js +0 -127
- data/node_modules/playwright-core/lib/utils/zipFile.js +0 -75
- data/node_modules/playwright-core/lib/utils/zones.js +0 -62
- data/node_modules/playwright-core/lib/utilsBundle.js +0 -82
- data/node_modules/playwright-core/lib/utilsBundleImpl/index.js +0 -53
- data/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +0 -1066
- data/node_modules/playwright-core/lib/vite/htmlReport/index.html +0 -66
- data/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-aW6Vz3gf.js +0 -24
- data/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-ez37Vkbh.css +0 -1
- data/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- data/node_modules/playwright-core/lib/vite/recorder/assets/index-B-MT5gKo.css +0 -1
- data/node_modules/playwright-core/lib/vite/recorder/assets/index-DCpXOVIh.js +0 -47
- data/node_modules/playwright-core/lib/vite/recorder/index.html +0 -29
- data/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +0 -9
- data/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-eFKCUIu2.js +0 -24
- data/node_modules/playwright-core/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/assets/workbench-D0cirtfA.js +0 -72
- data/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-BeNbaIVa.js +0 -9
- data/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.ez37Vkbh.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- data/node_modules/playwright-core/lib/vite/traceViewer/embedded.BkuvsLJp.js +0 -2
- data/node_modules/playwright-core/lib/vite/traceViewer/embedded.html +0 -16
- data/node_modules/playwright-core/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/index.C968kAiC.js +0 -2
- data/node_modules/playwright-core/lib/vite/traceViewer/index.CrbWWHbf.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/index.html +0 -27
- data/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +0 -9
- data/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +0 -21
- data/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +0 -3
- data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.BkFnr4V0.js +0 -10
- data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.D3cNFP6u.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +0 -18
- data/node_modules/playwright-core/lib/vite/traceViewer/workbench.DjbIuxix.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DSXBckUd.css +0 -32
- data/node_modules/playwright-core/lib/zipBundle.js +0 -25
- data/node_modules/playwright-core/lib/zipBundleImpl.js +0 -5
- data/node_modules/playwright-core/package.json +0 -44
- data/node_modules/playwright-core/types/protocol.d.ts +0 -21500
- data/node_modules/playwright-core/types/structs.d.ts +0 -45
- data/node_modules/playwright-core/types/types.d.ts +0 -21431
- data/node_modules/undici-types/LICENSE +0 -21
- data/node_modules/undici-types/README.md +0 -6
- data/node_modules/undici-types/agent.d.ts +0 -31
- data/node_modules/undici-types/api.d.ts +0 -43
- data/node_modules/undici-types/balanced-pool.d.ts +0 -29
- data/node_modules/undici-types/cache.d.ts +0 -36
- data/node_modules/undici-types/client.d.ts +0 -108
- data/node_modules/undici-types/connector.d.ts +0 -34
- data/node_modules/undici-types/content-type.d.ts +0 -21
- data/node_modules/undici-types/cookies.d.ts +0 -28
- data/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
- data/node_modules/undici-types/dispatcher.d.ts +0 -255
- data/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
- data/node_modules/undici-types/errors.d.ts +0 -149
- data/node_modules/undici-types/eventsource.d.ts +0 -63
- data/node_modules/undici-types/fetch.d.ts +0 -209
- data/node_modules/undici-types/file.d.ts +0 -39
- data/node_modules/undici-types/filereader.d.ts +0 -54
- data/node_modules/undici-types/formdata.d.ts +0 -108
- data/node_modules/undici-types/global-dispatcher.d.ts +0 -9
- data/node_modules/undici-types/global-origin.d.ts +0 -7
- data/node_modules/undici-types/handlers.d.ts +0 -15
- data/node_modules/undici-types/header.d.ts +0 -4
- data/node_modules/undici-types/index.d.ts +0 -71
- data/node_modules/undici-types/interceptors.d.ts +0 -15
- data/node_modules/undici-types/mock-agent.d.ts +0 -50
- data/node_modules/undici-types/mock-client.d.ts +0 -25
- data/node_modules/undici-types/mock-errors.d.ts +0 -12
- data/node_modules/undici-types/mock-interceptor.d.ts +0 -93
- data/node_modules/undici-types/mock-pool.d.ts +0 -25
- data/node_modules/undici-types/package.json +0 -55
- data/node_modules/undici-types/patch.d.ts +0 -71
- data/node_modules/undici-types/pool-stats.d.ts +0 -19
- data/node_modules/undici-types/pool.d.ts +0 -39
- data/node_modules/undici-types/proxy-agent.d.ts +0 -28
- data/node_modules/undici-types/readable.d.ts +0 -60
- data/node_modules/undici-types/retry-agent.d.ts +0 -8
- data/node_modules/undici-types/retry-handler.d.ts +0 -116
- data/node_modules/undici-types/util.d.ts +0 -18
- data/node_modules/undici-types/webidl.d.ts +0 -222
- data/node_modules/undici-types/websocket.d.ts +0 -152
- data/yarn.lock +0 -41
@@ -1,203 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.buildDependentProjects = buildDependentProjects;
|
7
|
-
exports.buildProjectsClosure = buildProjectsClosure;
|
8
|
-
exports.buildTeardownToSetupsMap = buildTeardownToSetupsMap;
|
9
|
-
exports.collectFilesForProject = collectFilesForProject;
|
10
|
-
exports.filterProjects = filterProjects;
|
11
|
-
var _fs = _interopRequireDefault(require("fs"));
|
12
|
-
var _path = _interopRequireDefault(require("path"));
|
13
|
-
var _utils = require("playwright-core/lib/utils");
|
14
|
-
var _utilsBundle = require("playwright-core/lib/utilsBundle");
|
15
|
-
var _util = require("util");
|
16
|
-
var _util2 = require("../util");
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
|
-
/**
|
19
|
-
* Copyright Microsoft Corporation. All rights reserved.
|
20
|
-
*
|
21
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
22
|
-
* you may not use this file except in compliance with the License.
|
23
|
-
* You may obtain a copy of the License at
|
24
|
-
*
|
25
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
26
|
-
*
|
27
|
-
* Unless required by applicable law or agreed to in writing, software
|
28
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
29
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
30
|
-
* See the License for the specific language governing permissions and
|
31
|
-
* limitations under the License.
|
32
|
-
*/
|
33
|
-
|
34
|
-
const readFileAsync = (0, _util.promisify)(_fs.default.readFile);
|
35
|
-
const readDirAsync = (0, _util.promisify)(_fs.default.readdir);
|
36
|
-
function wildcardPatternToRegExp(pattern) {
|
37
|
-
return new RegExp('^' + pattern.split('*').map(_utils.escapeRegExp).join('.*') + '$', 'ig');
|
38
|
-
}
|
39
|
-
function filterProjects(projects, projectNames) {
|
40
|
-
if (!projectNames) return [...projects];
|
41
|
-
const projectNamesToFind = new Set();
|
42
|
-
const unmatchedProjectNames = new Map();
|
43
|
-
const patterns = new Set();
|
44
|
-
for (const name of projectNames) {
|
45
|
-
const lowerCaseName = name.toLocaleLowerCase();
|
46
|
-
if (lowerCaseName.includes('*')) {
|
47
|
-
patterns.add(wildcardPatternToRegExp(lowerCaseName));
|
48
|
-
} else {
|
49
|
-
projectNamesToFind.add(lowerCaseName);
|
50
|
-
unmatchedProjectNames.set(lowerCaseName, name);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
const result = projects.filter(project => {
|
54
|
-
const lowerCaseName = project.project.name.toLocaleLowerCase();
|
55
|
-
if (projectNamesToFind.has(lowerCaseName)) {
|
56
|
-
unmatchedProjectNames.delete(lowerCaseName);
|
57
|
-
return true;
|
58
|
-
}
|
59
|
-
for (const regex of patterns) {
|
60
|
-
regex.lastIndex = 0;
|
61
|
-
if (regex.test(lowerCaseName)) return true;
|
62
|
-
}
|
63
|
-
return false;
|
64
|
-
});
|
65
|
-
if (unmatchedProjectNames.size) {
|
66
|
-
const unknownProjectNames = Array.from(unmatchedProjectNames.values()).map(n => `"${n}"`).join(', ');
|
67
|
-
throw new Error(`Project(s) ${unknownProjectNames} not found. Available projects: ${projects.map(p => `"${p.project.name}"`).join(', ')}`);
|
68
|
-
}
|
69
|
-
if (!result.length) {
|
70
|
-
const allProjects = projects.map(p => `"${p.project.name}"`).join(', ');
|
71
|
-
throw new Error(`No projects matched. Available projects: ${allProjects}`);
|
72
|
-
}
|
73
|
-
return result;
|
74
|
-
}
|
75
|
-
function buildTeardownToSetupsMap(projects) {
|
76
|
-
const result = new Map();
|
77
|
-
for (const project of projects) {
|
78
|
-
if (project.teardown) {
|
79
|
-
const setups = result.get(project.teardown) || [];
|
80
|
-
setups.push(project);
|
81
|
-
result.set(project.teardown, setups);
|
82
|
-
}
|
83
|
-
}
|
84
|
-
return result;
|
85
|
-
}
|
86
|
-
function buildProjectsClosure(projects, hasTests) {
|
87
|
-
const result = new Map();
|
88
|
-
const visit = (depth, project) => {
|
89
|
-
if (depth > 100) {
|
90
|
-
const error = new Error('Circular dependency detected between projects.');
|
91
|
-
error.stack = '';
|
92
|
-
throw error;
|
93
|
-
}
|
94
|
-
if (depth === 0 && hasTests && !hasTests(project)) return;
|
95
|
-
if (result.get(project) !== 'dependency') result.set(project, depth ? 'dependency' : 'top-level');
|
96
|
-
for (const dep of project.deps) visit(depth + 1, dep);
|
97
|
-
if (project.teardown) visit(depth + 1, project.teardown);
|
98
|
-
};
|
99
|
-
for (const p of projects) visit(0, p);
|
100
|
-
return result;
|
101
|
-
}
|
102
|
-
function buildDependentProjects(forProjects, projects) {
|
103
|
-
const reverseDeps = new Map(projects.map(p => [p, []]));
|
104
|
-
for (const project of projects) {
|
105
|
-
for (const dep of project.deps) reverseDeps.get(dep).push(project);
|
106
|
-
}
|
107
|
-
const result = new Set();
|
108
|
-
const visit = (depth, project) => {
|
109
|
-
if (depth > 100) {
|
110
|
-
const error = new Error('Circular dependency detected between projects.');
|
111
|
-
error.stack = '';
|
112
|
-
throw error;
|
113
|
-
}
|
114
|
-
result.add(project);
|
115
|
-
for (const reverseDep of reverseDeps.get(project)) visit(depth + 1, reverseDep);
|
116
|
-
if (project.teardown) visit(depth + 1, project.teardown);
|
117
|
-
};
|
118
|
-
for (const forProject of forProjects) visit(0, forProject);
|
119
|
-
return result;
|
120
|
-
}
|
121
|
-
async function collectFilesForProject(project, fsCache = new Map()) {
|
122
|
-
const extensions = new Set(['.js', '.ts', '.mjs', '.mts', '.cjs', '.cts', '.jsx', '.tsx', '.mjsx', '.mtsx', '.cjsx', '.ctsx']);
|
123
|
-
const testFileExtension = file => extensions.has(_path.default.extname(file));
|
124
|
-
const allFiles = await cachedCollectFiles(project.project.testDir, project.respectGitIgnore, fsCache);
|
125
|
-
const testMatch = (0, _util2.createFileMatcher)(project.project.testMatch);
|
126
|
-
const testIgnore = (0, _util2.createFileMatcher)(project.project.testIgnore);
|
127
|
-
const testFiles = allFiles.filter(file => {
|
128
|
-
if (!testFileExtension(file)) return false;
|
129
|
-
const isTest = !testIgnore(file) && testMatch(file);
|
130
|
-
if (!isTest) return false;
|
131
|
-
return true;
|
132
|
-
});
|
133
|
-
return testFiles;
|
134
|
-
}
|
135
|
-
async function cachedCollectFiles(testDir, respectGitIgnore, fsCache) {
|
136
|
-
const key = testDir + ':' + respectGitIgnore;
|
137
|
-
let result = fsCache.get(key);
|
138
|
-
if (!result) {
|
139
|
-
result = await collectFiles(testDir, respectGitIgnore);
|
140
|
-
fsCache.set(key, result);
|
141
|
-
}
|
142
|
-
return result;
|
143
|
-
}
|
144
|
-
async function collectFiles(testDir, respectGitIgnore) {
|
145
|
-
if (!_fs.default.existsSync(testDir)) return [];
|
146
|
-
if (!_fs.default.statSync(testDir).isDirectory()) return [];
|
147
|
-
const checkIgnores = (entryPath, rules, isDirectory, parentStatus) => {
|
148
|
-
let status = parentStatus;
|
149
|
-
for (const rule of rules) {
|
150
|
-
const ruleIncludes = rule.negate;
|
151
|
-
if (status === 'included' === ruleIncludes) continue;
|
152
|
-
const relative = _path.default.relative(rule.dir, entryPath);
|
153
|
-
if (rule.match('/' + relative) || rule.match(relative)) {
|
154
|
-
// Matches "/dir/file" or "dir/file"
|
155
|
-
status = ruleIncludes ? 'included' : 'ignored';
|
156
|
-
} else if (isDirectory && (rule.match('/' + relative + '/') || rule.match(relative + '/'))) {
|
157
|
-
// Matches "/dir/subdir/" or "dir/subdir/" for directories.
|
158
|
-
status = ruleIncludes ? 'included' : 'ignored';
|
159
|
-
} else if (isDirectory && ruleIncludes && (rule.match('/' + relative, true) || rule.match(relative, true))) {
|
160
|
-
// Matches "/dir/donotskip/" when "/dir" is excluded, but "!/dir/donotskip/file" is included.
|
161
|
-
status = 'ignored-but-recurse';
|
162
|
-
}
|
163
|
-
}
|
164
|
-
return status;
|
165
|
-
};
|
166
|
-
const files = [];
|
167
|
-
const visit = async (dir, rules, status) => {
|
168
|
-
const entries = await readDirAsync(dir, {
|
169
|
-
withFileTypes: true
|
170
|
-
});
|
171
|
-
entries.sort((a, b) => a.name.localeCompare(b.name));
|
172
|
-
if (respectGitIgnore) {
|
173
|
-
const gitignore = entries.find(e => e.isFile() && e.name === '.gitignore');
|
174
|
-
if (gitignore) {
|
175
|
-
const content = await readFileAsync(_path.default.join(dir, gitignore.name), 'utf8');
|
176
|
-
const newRules = content.split(/\r?\n/).map(s => {
|
177
|
-
s = s.trim();
|
178
|
-
if (!s) return;
|
179
|
-
// Use flipNegate, because we handle negation ourselves.
|
180
|
-
const rule = new _utilsBundle.minimatch.Minimatch(s, {
|
181
|
-
matchBase: true,
|
182
|
-
dot: true,
|
183
|
-
flipNegate: true
|
184
|
-
});
|
185
|
-
if (rule.comment) return;
|
186
|
-
rule.dir = dir;
|
187
|
-
return rule;
|
188
|
-
}).filter(rule => !!rule);
|
189
|
-
rules = [...rules, ...newRules];
|
190
|
-
}
|
191
|
-
}
|
192
|
-
for (const entry of entries) {
|
193
|
-
if (entry.name === '.' || entry.name === '..') continue;
|
194
|
-
if (entry.isFile() && entry.name === '.gitignore') continue;
|
195
|
-
if (entry.isDirectory() && entry.name === 'node_modules') continue;
|
196
|
-
const entryPath = _path.default.join(dir, entry.name);
|
197
|
-
const entryStatus = checkIgnores(entryPath, rules, entry.isDirectory(), status);
|
198
|
-
if (entry.isDirectory() && entryStatus !== 'ignored') await visit(entryPath, rules, entryStatus);else if (entry.isFile() && entryStatus === 'included') files.push(entryPath);
|
199
|
-
}
|
200
|
-
};
|
201
|
-
await visit(testDir, [], 'included');
|
202
|
-
return files;
|
203
|
-
}
|
@@ -1,151 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.createConsoleReporter = createConsoleReporter;
|
7
|
-
exports.createReporterForTestServer = createReporterForTestServer;
|
8
|
-
exports.createReporters = createReporters;
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
10
|
-
var _base = require("../reporters/base");
|
11
|
-
var _dot = _interopRequireDefault(require("../reporters/dot"));
|
12
|
-
var _empty = _interopRequireDefault(require("../reporters/empty"));
|
13
|
-
var _github = _interopRequireDefault(require("../reporters/github"));
|
14
|
-
var _html = _interopRequireDefault(require("../reporters/html"));
|
15
|
-
var _json = _interopRequireDefault(require("../reporters/json"));
|
16
|
-
var _junit = _interopRequireDefault(require("../reporters/junit"));
|
17
|
-
var _line = _interopRequireDefault(require("../reporters/line"));
|
18
|
-
var _list = _interopRequireDefault(require("../reporters/list"));
|
19
|
-
var _markdown = _interopRequireDefault(require("../reporters/markdown"));
|
20
|
-
var _loadUtils = require("./loadUtils");
|
21
|
-
var _blob = require("../reporters/blob");
|
22
|
-
var _reporterV = require("../reporters/reporterV2");
|
23
|
-
var _utils = require("playwright-core/lib/utils");
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
25
|
-
/**
|
26
|
-
* Copyright Microsoft Corporation. All rights reserved.
|
27
|
-
*
|
28
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
29
|
-
* you may not use this file except in compliance with the License.
|
30
|
-
* You may obtain a copy of the License at
|
31
|
-
*
|
32
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
33
|
-
*
|
34
|
-
* Unless required by applicable law or agreed to in writing, software
|
35
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
36
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
37
|
-
* See the License for the specific language governing permissions and
|
38
|
-
* limitations under the License.
|
39
|
-
*/
|
40
|
-
|
41
|
-
async function createReporters(config, mode, isTestServer, descriptions) {
|
42
|
-
var _descriptions;
|
43
|
-
const defaultReporters = {
|
44
|
-
blob: _blob.BlobReporter,
|
45
|
-
dot: mode === 'list' ? ListModeReporter : _dot.default,
|
46
|
-
line: mode === 'list' ? ListModeReporter : _line.default,
|
47
|
-
list: mode === 'list' ? ListModeReporter : _list.default,
|
48
|
-
github: _github.default,
|
49
|
-
json: _json.default,
|
50
|
-
junit: _junit.default,
|
51
|
-
null: _empty.default,
|
52
|
-
html: _html.default,
|
53
|
-
markdown: _markdown.default
|
54
|
-
};
|
55
|
-
const reporters = [];
|
56
|
-
(_descriptions = descriptions) !== null && _descriptions !== void 0 ? _descriptions : descriptions = config.config.reporter;
|
57
|
-
if (config.configCLIOverrides.additionalReporters) descriptions = [...descriptions, ...config.configCLIOverrides.additionalReporters];
|
58
|
-
const runOptions = reporterOptions(config, mode, isTestServer);
|
59
|
-
for (const r of descriptions) {
|
60
|
-
const [name, arg] = r;
|
61
|
-
const options = {
|
62
|
-
...runOptions,
|
63
|
-
...arg
|
64
|
-
};
|
65
|
-
if (name in defaultReporters) {
|
66
|
-
reporters.push(new defaultReporters[name](options));
|
67
|
-
} else {
|
68
|
-
const reporterConstructor = await (0, _loadUtils.loadReporter)(config, name);
|
69
|
-
reporters.push((0, _reporterV.wrapReporterAsV2)(new reporterConstructor(options)));
|
70
|
-
}
|
71
|
-
}
|
72
|
-
if (process.env.PW_TEST_REPORTER) {
|
73
|
-
const reporterConstructor = await (0, _loadUtils.loadReporter)(config, process.env.PW_TEST_REPORTER);
|
74
|
-
reporters.push((0, _reporterV.wrapReporterAsV2)(new reporterConstructor(runOptions)));
|
75
|
-
}
|
76
|
-
const someReporterPrintsToStdio = reporters.some(r => r.printsToStdio());
|
77
|
-
if (reporters.length && !someReporterPrintsToStdio) {
|
78
|
-
// Add a line/dot/list-mode reporter for convenience.
|
79
|
-
// Important to put it first, just in case some other reporter stalls onEnd.
|
80
|
-
if (mode === 'list') reporters.unshift(new ListModeReporter());else if (mode !== 'merge') reporters.unshift(!process.env.CI ? new _line.default({
|
81
|
-
omitFailures: true
|
82
|
-
}) : new _dot.default());
|
83
|
-
}
|
84
|
-
return reporters;
|
85
|
-
}
|
86
|
-
async function createReporterForTestServer(file, messageSink) {
|
87
|
-
const reporterConstructor = await (0, _loadUtils.loadReporter)(null, file);
|
88
|
-
return (0, _reporterV.wrapReporterAsV2)(new reporterConstructor({
|
89
|
-
_send: messageSink
|
90
|
-
}));
|
91
|
-
}
|
92
|
-
function createConsoleReporter() {
|
93
|
-
return (0, _reporterV.wrapReporterAsV2)({
|
94
|
-
onError(error) {
|
95
|
-
process.stdout.write((0, _base.formatError)(error, _base.colors.enabled).message + '\n');
|
96
|
-
}
|
97
|
-
});
|
98
|
-
}
|
99
|
-
function reporterOptions(config, mode, isTestServer) {
|
100
|
-
return {
|
101
|
-
configDir: config.configDir,
|
102
|
-
_mode: mode,
|
103
|
-
_isTestServer: isTestServer,
|
104
|
-
_commandHash: computeCommandHash(config)
|
105
|
-
};
|
106
|
-
}
|
107
|
-
function computeCommandHash(config) {
|
108
|
-
const parts = [];
|
109
|
-
// Include project names for readability.
|
110
|
-
if (config.cliProjectFilter) parts.push(...config.cliProjectFilter);
|
111
|
-
const command = {};
|
112
|
-
if (config.cliArgs.length) command.cliArgs = config.cliArgs;
|
113
|
-
if (config.cliGrep) command.cliGrep = config.cliGrep;
|
114
|
-
if (config.cliGrepInvert) command.cliGrepInvert = config.cliGrepInvert;
|
115
|
-
if (config.cliOnlyChanged) command.cliOnlyChanged = config.cliOnlyChanged;
|
116
|
-
if (Object.keys(command).length) parts.push((0, _utils.calculateSha1)(JSON.stringify(command)).substring(0, 7));
|
117
|
-
return parts.join('-');
|
118
|
-
}
|
119
|
-
class ListModeReporter extends _empty.default {
|
120
|
-
constructor(...args) {
|
121
|
-
super(...args);
|
122
|
-
this.config = void 0;
|
123
|
-
}
|
124
|
-
onConfigure(config) {
|
125
|
-
this.config = config;
|
126
|
-
}
|
127
|
-
onBegin(suite) {
|
128
|
-
// eslint-disable-next-line no-console
|
129
|
-
console.log(`Listing tests:`);
|
130
|
-
const tests = suite.allTests();
|
131
|
-
const files = new Set();
|
132
|
-
for (const test of tests) {
|
133
|
-
// root, project, file, ...describes, test
|
134
|
-
const [, projectName,, ...titles] = test.titlePath();
|
135
|
-
const location = `${_path.default.relative(this.config.rootDir, test.location.file)}:${test.location.line}:${test.location.column}`;
|
136
|
-
const projectTitle = projectName ? `[${projectName}] › ` : '';
|
137
|
-
// eslint-disable-next-line no-console
|
138
|
-
console.log(` ${projectTitle}${location} › ${titles.join(' › ')}`);
|
139
|
-
files.add(test.location.file);
|
140
|
-
}
|
141
|
-
// eslint-disable-next-line no-console
|
142
|
-
console.log(`Total: ${tests.length} ${tests.length === 1 ? 'test' : 'tests'} in ${files.size} ${files.size === 1 ? 'file' : 'files'}`);
|
143
|
-
}
|
144
|
-
onError(error) {
|
145
|
-
// eslint-disable-next-line no-console
|
146
|
-
console.error('\n' + (0, _base.formatError)(error, false).message);
|
147
|
-
}
|
148
|
-
printsToStdio() {
|
149
|
-
return true;
|
150
|
-
}
|
151
|
-
}
|
@@ -1,179 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.Runner = void 0;
|
7
|
-
exports.readLastRunInfo = readLastRunInfo;
|
8
|
-
var _fs = _interopRequireDefault(require("fs"));
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
10
|
-
var _utils = require("playwright-core/lib/utils");
|
11
|
-
var _webServerPlugin = require("../plugins/webServerPlugin");
|
12
|
-
var _projectUtils = require("./projectUtils");
|
13
|
-
var _reporters = require("./reporters");
|
14
|
-
var _tasks = require("./tasks");
|
15
|
-
var _reporterV = require("../reporters/reporterV2");
|
16
|
-
var _compilationCache = require("../transform/compilationCache");
|
17
|
-
var _internalReporter = require("../reporters/internalReporter");
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19
|
-
/**
|
20
|
-
* Copyright 2019 Google Inc. All rights reserved.
|
21
|
-
* Modifications copyright (c) Microsoft Corporation.
|
22
|
-
*
|
23
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
24
|
-
* you may not use this file except in compliance with the License.
|
25
|
-
* You may obtain a copy of the License at
|
26
|
-
*
|
27
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
28
|
-
*
|
29
|
-
* Unless required by applicable law or agreed to in writing, software
|
30
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
31
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
32
|
-
* See the License for the specific language governing permissions and
|
33
|
-
* limitations under the License.
|
34
|
-
*/
|
35
|
-
|
36
|
-
class Runner {
|
37
|
-
constructor(config) {
|
38
|
-
this._config = void 0;
|
39
|
-
this._config = config;
|
40
|
-
}
|
41
|
-
async listTestFiles(projectNames) {
|
42
|
-
const projects = (0, _projectUtils.filterProjects)(this._config.projects, projectNames);
|
43
|
-
const report = {
|
44
|
-
projects: []
|
45
|
-
};
|
46
|
-
for (const project of projects) {
|
47
|
-
report.projects.push({
|
48
|
-
name: project.project.name,
|
49
|
-
testDir: project.project.testDir,
|
50
|
-
use: {
|
51
|
-
testIdAttribute: project.project.use.testIdAttribute
|
52
|
-
},
|
53
|
-
files: await (0, _projectUtils.collectFilesForProject)(project)
|
54
|
-
});
|
55
|
-
}
|
56
|
-
return report;
|
57
|
-
}
|
58
|
-
async runAllTests() {
|
59
|
-
const config = this._config;
|
60
|
-
const listOnly = config.cliListOnly;
|
61
|
-
const deadline = config.config.globalTimeout ? (0, _utils.monotonicTime)() + config.config.globalTimeout : 0;
|
62
|
-
|
63
|
-
// Legacy webServer support.
|
64
|
-
(0, _webServerPlugin.webServerPluginsForConfig)(config).forEach(p => config.plugins.push({
|
65
|
-
factory: p
|
66
|
-
}));
|
67
|
-
const reporters = await (0, _reporters.createReporters)(config, listOnly ? 'list' : 'test', false);
|
68
|
-
const reporter = new _internalReporter.InternalReporter(reporters);
|
69
|
-
const taskRunner = listOnly ? (0, _tasks.createTaskRunnerForList)(config, reporter, 'in-process', {
|
70
|
-
failOnLoadErrors: true
|
71
|
-
}) : (0, _tasks.createTaskRunner)(config, reporter);
|
72
|
-
const testRun = new _tasks.TestRun(config);
|
73
|
-
reporter.onConfigure(config.config);
|
74
|
-
const taskStatus = await taskRunner.run(testRun, deadline);
|
75
|
-
let status = testRun.failureTracker.result();
|
76
|
-
if (status === 'passed' && taskStatus !== 'passed') status = taskStatus;
|
77
|
-
const modifiedResult = await reporter.onEnd({
|
78
|
-
status
|
79
|
-
});
|
80
|
-
if (modifiedResult && modifiedResult.status) status = modifiedResult.status;
|
81
|
-
if (!listOnly) await writeLastRunInfo(testRun, status);
|
82
|
-
await reporter.onExit();
|
83
|
-
|
84
|
-
// Calling process.exit() might truncate large stdout/stderr output.
|
85
|
-
// See https://github.com/nodejs/node/issues/6456.
|
86
|
-
// See https://github.com/nodejs/node/issues/12921
|
87
|
-
await new Promise(resolve => process.stdout.write('', () => resolve()));
|
88
|
-
await new Promise(resolve => process.stderr.write('', () => resolve()));
|
89
|
-
return status;
|
90
|
-
}
|
91
|
-
async loadAllTests(mode = 'in-process') {
|
92
|
-
const config = this._config;
|
93
|
-
const errors = [];
|
94
|
-
const reporter = new _internalReporter.InternalReporter([(0, _reporterV.wrapReporterAsV2)({
|
95
|
-
onError(error) {
|
96
|
-
errors.push(error);
|
97
|
-
}
|
98
|
-
})]);
|
99
|
-
const taskRunner = (0, _tasks.createTaskRunnerForList)(config, reporter, mode, {
|
100
|
-
failOnLoadErrors: true
|
101
|
-
});
|
102
|
-
const testRun = new _tasks.TestRun(config);
|
103
|
-
reporter.onConfigure(config.config);
|
104
|
-
const taskStatus = await taskRunner.run(testRun, 0);
|
105
|
-
let status = testRun.failureTracker.result();
|
106
|
-
if (status === 'passed' && taskStatus !== 'passed') status = taskStatus;
|
107
|
-
const modifiedResult = await reporter.onEnd({
|
108
|
-
status
|
109
|
-
});
|
110
|
-
if (modifiedResult && modifiedResult.status) status = modifiedResult.status;
|
111
|
-
await reporter.onExit();
|
112
|
-
return {
|
113
|
-
status,
|
114
|
-
suite: testRun.rootSuite,
|
115
|
-
errors
|
116
|
-
};
|
117
|
-
}
|
118
|
-
async findRelatedTestFiles(mode, files) {
|
119
|
-
var _playwrightTest;
|
120
|
-
const result = await this.loadAllTests(mode);
|
121
|
-
if (result.status !== 'passed' || !result.suite) return {
|
122
|
-
errors: result.errors,
|
123
|
-
testFiles: []
|
124
|
-
};
|
125
|
-
const resolvedFiles = files.map(file => _path.default.resolve(process.cwd(), file));
|
126
|
-
const override = (_playwrightTest = this._config.config['@playwright/test']) === null || _playwrightTest === void 0 || (_playwrightTest = _playwrightTest['cli']) === null || _playwrightTest === void 0 ? void 0 : _playwrightTest['find-related-test-files'];
|
127
|
-
if (override) return await override(resolvedFiles, this._config);
|
128
|
-
return {
|
129
|
-
testFiles: (0, _compilationCache.affectedTestFiles)(resolvedFiles)
|
130
|
-
};
|
131
|
-
}
|
132
|
-
async runDevServer() {
|
133
|
-
const reporter = new _internalReporter.InternalReporter([(0, _reporters.createConsoleReporter)()]);
|
134
|
-
const taskRunner = (0, _tasks.createTaskRunnerForDevServer)(this._config, reporter, 'in-process', true);
|
135
|
-
const testRun = new _tasks.TestRun(this._config);
|
136
|
-
reporter.onConfigure(this._config.config);
|
137
|
-
const status = await taskRunner.run(testRun, 0);
|
138
|
-
await reporter.onEnd({
|
139
|
-
status
|
140
|
-
});
|
141
|
-
await reporter.onExit();
|
142
|
-
return {
|
143
|
-
status
|
144
|
-
};
|
145
|
-
}
|
146
|
-
}
|
147
|
-
exports.Runner = Runner;
|
148
|
-
async function writeLastRunInfo(testRun, status) {
|
149
|
-
var _testRun$rootSuite;
|
150
|
-
const [project] = (0, _projectUtils.filterProjects)(testRun.config.projects, testRun.config.cliProjectFilter);
|
151
|
-
if (!project) return;
|
152
|
-
const outputDir = project.project.outputDir;
|
153
|
-
await _fs.default.promises.mkdir(outputDir, {
|
154
|
-
recursive: true
|
155
|
-
});
|
156
|
-
const lastRunReportFile = _path.default.join(outputDir, '.last-run.json');
|
157
|
-
const failedTests = (_testRun$rootSuite = testRun.rootSuite) === null || _testRun$rootSuite === void 0 ? void 0 : _testRun$rootSuite.allTests().filter(t => !t.ok()).map(t => t.id);
|
158
|
-
const lastRunReport = JSON.stringify({
|
159
|
-
status,
|
160
|
-
failedTests
|
161
|
-
}, undefined, 2);
|
162
|
-
await _fs.default.promises.writeFile(lastRunReportFile, lastRunReport);
|
163
|
-
}
|
164
|
-
async function readLastRunInfo(config) {
|
165
|
-
const [project] = (0, _projectUtils.filterProjects)(config.projects, config.cliProjectFilter);
|
166
|
-
if (!project) return {
|
167
|
-
status: 'passed',
|
168
|
-
failedTests: []
|
169
|
-
};
|
170
|
-
const outputDir = project.project.outputDir;
|
171
|
-
try {
|
172
|
-
const lastRunReportFile = _path.default.join(outputDir, '.last-run.json');
|
173
|
-
return JSON.parse(await _fs.default.promises.readFile(lastRunReportFile, 'utf8'));
|
174
|
-
} catch {}
|
175
|
-
return {
|
176
|
-
status: 'passed',
|
177
|
-
failedTests: []
|
178
|
-
};
|
179
|
-
}
|
@@ -1,100 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.SigIntWatcher = void 0;
|
7
|
-
var _class2;
|
8
|
-
/**
|
9
|
-
* Copyright (c) Microsoft Corporation.
|
10
|
-
*
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
12
|
-
* you may not use this file except in compliance with the License.
|
13
|
-
* You may obtain a copy of the License at
|
14
|
-
*
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
16
|
-
*
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
20
|
-
* See the License for the specific language governing permissions and
|
21
|
-
* limitations under the License.
|
22
|
-
*/
|
23
|
-
|
24
|
-
class SigIntWatcher {
|
25
|
-
constructor() {
|
26
|
-
this._hadSignal = false;
|
27
|
-
this._sigintPromise = void 0;
|
28
|
-
this._sigintHandler = void 0;
|
29
|
-
let sigintCallback;
|
30
|
-
this._sigintPromise = new Promise(f => sigintCallback = f);
|
31
|
-
this._sigintHandler = () => {
|
32
|
-
FixedNodeSIGINTHandler.off(this._sigintHandler);
|
33
|
-
this._hadSignal = true;
|
34
|
-
sigintCallback();
|
35
|
-
};
|
36
|
-
FixedNodeSIGINTHandler.on(this._sigintHandler);
|
37
|
-
}
|
38
|
-
promise() {
|
39
|
-
return this._sigintPromise;
|
40
|
-
}
|
41
|
-
hadSignal() {
|
42
|
-
return this._hadSignal;
|
43
|
-
}
|
44
|
-
disarm() {
|
45
|
-
FixedNodeSIGINTHandler.off(this._sigintHandler);
|
46
|
-
}
|
47
|
-
}
|
48
|
-
|
49
|
-
// NPM/NPX will send us duplicate SIGINT signals, so we need to ignore them.
|
50
|
-
exports.SigIntWatcher = SigIntWatcher;
|
51
|
-
class FixedNodeSIGINTHandler {
|
52
|
-
static _install() {
|
53
|
-
if (!this._handlerInstalled) {
|
54
|
-
this._handlerInstalled = true;
|
55
|
-
process.on('SIGINT', this._dispatch);
|
56
|
-
}
|
57
|
-
}
|
58
|
-
static _uninstall() {
|
59
|
-
if (this._handlerInstalled) {
|
60
|
-
this._handlerInstalled = false;
|
61
|
-
process.off('SIGINT', this._dispatch);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
static on(handler) {
|
65
|
-
this._handlers.push(handler);
|
66
|
-
if (this._handlers.length === 1) this._install();
|
67
|
-
}
|
68
|
-
static off(handler) {
|
69
|
-
this._handlers = this._handlers.filter(h => h !== handler);
|
70
|
-
if (!this._ignoreNextSIGINTs && !this._handlers.length) this._uninstall();
|
71
|
-
}
|
72
|
-
}
|
73
|
-
_class2 = FixedNodeSIGINTHandler;
|
74
|
-
FixedNodeSIGINTHandler._handlers = [];
|
75
|
-
FixedNodeSIGINTHandler._ignoreNextSIGINTs = false;
|
76
|
-
FixedNodeSIGINTHandler._handlerInstalled = false;
|
77
|
-
FixedNodeSIGINTHandler._dispatch = () => {
|
78
|
-
if (_class2._ignoreNextSIGINTs) return;
|
79
|
-
_class2._ignoreNextSIGINTs = true;
|
80
|
-
setTimeout(() => {
|
81
|
-
_class2._ignoreNextSIGINTs = false;
|
82
|
-
// We remove the handler so that second Ctrl+C immediately kills the process
|
83
|
-
// via the default sigint handler. This is handy in the case where our shutdown
|
84
|
-
// takes a lot of time or is buggy.
|
85
|
-
//
|
86
|
-
// When running through NPM we might get multiple SIGINT signals
|
87
|
-
// for a single Ctrl+C - this is an NPM bug present since NPM v6+.
|
88
|
-
// https://github.com/npm/cli/issues/1591
|
89
|
-
// https://github.com/npm/cli/issues/2124
|
90
|
-
// https://github.com/npm/cli/issues/5021
|
91
|
-
//
|
92
|
-
// Therefore, removing the handler too soon will just kill the process
|
93
|
-
// with default handler without printing the results.
|
94
|
-
// We work around this by giving NPM 1000ms to send us duplicate signals.
|
95
|
-
// The side effect is that slow shutdown or bug in our process will force
|
96
|
-
// the user to hit Ctrl+C again after at least a second.
|
97
|
-
if (!_class2._handlers.length) _class2._uninstall();
|
98
|
-
}, 1000);
|
99
|
-
for (const handler of _class2._handlers) handler();
|
100
|
-
};
|