Copy disabled (too large)
Download .txt
Showing preview only (16,483K chars total). Download the full file to get everything.
Repository: hyperdxio/hyperdx
Branch: main
Commit: 470b2c29920b
Files: 811
Total size: 15.6 MB
Directory structure:
gitextract_nt5keqv5/
├── .changeset/
│ ├── README.md
│ ├── config.json
│ └── fast-plants-peel.md
├── .claude/
│ ├── agents/
│ │ ├── playwright-test-generator.md
│ │ ├── playwright-test-healer.md
│ │ └── playwright-test-planner.md
│ └── skills/
│ └── playwright/
│ └── SKILL.md
├── .cursor/
│ ├── mcp.json
│ └── rules/
│ └── playwright.mdc
├── .gitattributes
├── .github/
│ ├── pull_request_template.md
│ └── workflows/
│ ├── claude-code-review.yml
│ ├── claude.yml
│ ├── e2e-tests.yml
│ ├── main.yml
│ ├── push.yml
│ ├── pushv1.yml
│ ├── release-nightly.yml
│ ├── release.yml
│ └── security-audit.yml
├── .gitignore
├── .husky/
│ └── pre-commit
├── .kodiak.toml
├── .mcp.json
├── .nvmrc
├── .opencode/
│ └── commands/
│ ├── do-linear.md
│ └── plan-linear.md
├── .prettierignore
├── .prettierrc
├── .vex/
│ └── openssl-mongodb.vex.json
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── .yarn/
│ └── releases/
│ ├── yarn-1.22.18.cjs
│ └── yarn-4.5.1.cjs
├── .yarnrc.yml
├── AGENTS.md
├── CLAUDE.md
├── CONTRIBUTING.md
├── DEPLOY.md
├── LICENSE
├── LOCAL.md
├── Makefile
├── README.md
├── agent_docs/
│ ├── README.md
│ ├── architecture.md
│ ├── code_style.md
│ ├── development.md
│ └── tech_stack.md
├── docker/
│ ├── clickhouse/
│ │ └── local/
│ │ ├── config.xml
│ │ ├── init-db-e2e.sh
│ │ └── users.xml
│ ├── hostmetrics/
│ │ ├── Dockerfile
│ │ └── config.dev.yaml
│ ├── hyperdx/
│ │ ├── Dockerfile
│ │ ├── build.sh
│ │ ├── clickhouseConfig.xml
│ │ ├── entry.local.auth.sh
│ │ ├── entry.local.base.sh
│ │ ├── entry.local.noauth.sh
│ │ └── entry.prod.sh
│ ├── nginx/
│ │ ├── README.md
│ │ └── nginx.conf
│ └── otel-collector/
│ ├── Dockerfile
│ ├── config.standalone.auth.yaml
│ ├── config.standalone.yaml
│ ├── config.yaml
│ ├── custom.config.yaml
│ ├── entrypoint.sh
│ ├── log-tailer.sh
│ ├── schema/
│ │ ├── README.md
│ │ └── seed/
│ │ ├── 00001_create_database.sql
│ │ ├── 00002_otel_logs.sql
│ │ ├── 00003_otel_metrics.sql
│ │ ├── 00004_hyperdx_sessions.sql
│ │ └── 00005_otel_traces.sql
│ └── supervisor_docker.yaml.tmpl
├── docker-compose.ci.yml
├── docker-compose.dev.yml
├── docker-compose.yml
├── nx.json
├── package.json
├── packages/
│ ├── api/
│ │ ├── .Dockerignore
│ │ ├── .spectral.yaml
│ │ ├── CHANGELOG.md
│ │ ├── Dockerfile
│ │ ├── bin/
│ │ │ └── hyperdx
│ │ ├── docs/
│ │ │ └── auto_provision/
│ │ │ └── AUTO_PROVISION.md
│ │ ├── eslint.config.mjs
│ │ ├── jest.config.js
│ │ ├── jest.setup.ts
│ │ ├── migrate-mongo-config.ts
│ │ ├── migrations/
│ │ │ ├── ch/
│ │ │ │ ├── 000001_add_is_delta_n_is_monotonic_fields_to_metric_stream_table.down.sql
│ │ │ │ └── 000001_add_is_delta_n_is_monotonic_fields_to_metric_stream_table.up.sql
│ │ │ └── mongo/
│ │ │ └── 20231130053610-add_accessKey_field_to_user_collection.ts
│ │ ├── nodemon.json
│ │ ├── openapi.json
│ │ ├── package.json
│ │ ├── scripts/
│ │ │ └── generate-api-docs.ts
│ │ ├── src/
│ │ │ ├── api-app.ts
│ │ │ ├── clickhouse/
│ │ │ │ └── __tests__/
│ │ │ │ ├── __snapshots__/
│ │ │ │ │ └── renderChartConfig.test.ts.snap
│ │ │ │ ├── clickhouse.V1_DEPRECATED_test.ts
│ │ │ │ └── renderChartConfig.test.ts
│ │ │ ├── config.ts
│ │ │ ├── controllers/
│ │ │ │ ├── __tests__/
│ │ │ │ │ ├── alertHistory.test.ts
│ │ │ │ │ └── team.test.ts
│ │ │ │ ├── ai.ts
│ │ │ │ ├── alertHistory.ts
│ │ │ │ ├── alerts.ts
│ │ │ │ ├── connection.ts
│ │ │ │ ├── dashboard.ts
│ │ │ │ ├── presetDashboardFilters.ts
│ │ │ │ ├── savedSearch.ts
│ │ │ │ ├── sources.ts
│ │ │ │ ├── team.ts
│ │ │ │ └── user.ts
│ │ │ ├── fixtures.ts
│ │ │ ├── index.ts
│ │ │ ├── middleware/
│ │ │ │ ├── auth.ts
│ │ │ │ ├── cors.ts
│ │ │ │ ├── error.ts
│ │ │ │ └── validation.ts
│ │ │ ├── models/
│ │ │ │ ├── __tests__/
│ │ │ │ │ └── index.test.ts
│ │ │ │ ├── alert.ts
│ │ │ │ ├── alertHistory.ts
│ │ │ │ ├── connection.ts
│ │ │ │ ├── dashboard.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── presetDashboardFilter.ts
│ │ │ │ ├── savedSearch.ts
│ │ │ │ ├── source.ts
│ │ │ │ ├── team.ts
│ │ │ │ ├── teamInvite.ts
│ │ │ │ ├── user.ts
│ │ │ │ └── webhook.ts
│ │ │ ├── opamp/
│ │ │ │ ├── README.md
│ │ │ │ ├── app.ts
│ │ │ │ ├── controllers/
│ │ │ │ │ └── opampController.ts
│ │ │ │ ├── models/
│ │ │ │ │ └── agent.ts
│ │ │ │ ├── proto/
│ │ │ │ │ ├── anyvalue.proto
│ │ │ │ │ └── opamp.proto
│ │ │ │ ├── services/
│ │ │ │ │ └── agentService.ts
│ │ │ │ └── utils/
│ │ │ │ └── protobuf.ts
│ │ │ ├── routers/
│ │ │ │ ├── api/
│ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ ├── alerts.test.ts
│ │ │ │ │ │ ├── dashboard.test.ts
│ │ │ │ │ │ ├── savedSearch.test.ts
│ │ │ │ │ │ ├── sources.test.ts
│ │ │ │ │ │ ├── team.test.ts
│ │ │ │ │ │ └── webhooks.test.ts
│ │ │ │ │ ├── ai.ts
│ │ │ │ │ ├── alerts.ts
│ │ │ │ │ ├── clickhouseProxy.ts
│ │ │ │ │ ├── connections.ts
│ │ │ │ │ ├── dashboards.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── me.ts
│ │ │ │ │ ├── root.ts
│ │ │ │ │ ├── savedSearch.ts
│ │ │ │ │ ├── sources.ts
│ │ │ │ │ ├── team.ts
│ │ │ │ │ └── webhooks.ts
│ │ │ │ └── external-api/
│ │ │ │ ├── __tests__/
│ │ │ │ │ ├── alerts.test.ts
│ │ │ │ │ ├── charts.test.ts
│ │ │ │ │ ├── dashboards.test.ts
│ │ │ │ │ ├── sources.test.ts
│ │ │ │ │ ├── v2.test.ts
│ │ │ │ │ └── webhooks.test.ts
│ │ │ │ └── v2/
│ │ │ │ ├── alerts.ts
│ │ │ │ ├── charts.ts
│ │ │ │ ├── dashboards.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── sources.ts
│ │ │ │ ├── utils/
│ │ │ │ │ └── dashboards.ts
│ │ │ │ └── webhooks.ts
│ │ │ ├── server.ts
│ │ │ ├── setupDefaults.ts
│ │ │ ├── tasks/
│ │ │ │ ├── __tests__/
│ │ │ │ │ ├── types.test.ts
│ │ │ │ │ └── util.test.ts
│ │ │ │ ├── checkAlerts/
│ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ ├── checkAlerts.test.ts
│ │ │ │ │ │ ├── checkAlertsTask.test.ts
│ │ │ │ │ │ └── singleInvocationAlert.test.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── providers/
│ │ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ │ └── default.test.ts
│ │ │ │ │ │ ├── default.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── template.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── metrics.ts
│ │ │ │ ├── pingPongTask.ts
│ │ │ │ ├── tracer.ts
│ │ │ │ ├── types.ts
│ │ │ │ ├── usageStats.ts
│ │ │ │ └── util.ts
│ │ │ └── utils/
│ │ │ ├── __tests__/
│ │ │ │ ├── __snapshots__/
│ │ │ │ │ └── logParser.test.ts.snap
│ │ │ │ ├── common.test.ts
│ │ │ │ ├── enhancedErrors.test.ts
│ │ │ │ ├── errors.test.ts
│ │ │ │ ├── externalApi.test.ts
│ │ │ │ ├── logParser.test.ts
│ │ │ │ └── validators.test.ts
│ │ │ ├── common.ts
│ │ │ ├── email.ts
│ │ │ ├── enhancedErrors.ts
│ │ │ ├── errors.ts
│ │ │ ├── externalApi.ts
│ │ │ ├── logParser.ts
│ │ │ ├── logger.ts
│ │ │ ├── passport.ts
│ │ │ ├── queue.ts
│ │ │ ├── rateLimiter.ts
│ │ │ ├── serialization.ts
│ │ │ ├── slack.ts
│ │ │ ├── swagger.ts
│ │ │ ├── validators.ts
│ │ │ └── zod.ts
│ │ ├── tsconfig.build.json
│ │ └── tsconfig.json
│ ├── app/
│ │ ├── .Dockerignore
│ │ ├── .gitignore
│ │ ├── .storybook/
│ │ │ ├── main.ts
│ │ │ ├── preview-head.html
│ │ │ ├── preview.tsx
│ │ │ └── public/
│ │ │ └── mockServiceWorker.js
│ │ ├── .stylelintignore
│ │ ├── CHANGELOG.md
│ │ ├── Dockerfile
│ │ ├── eslint.config.mjs
│ │ ├── global-setup.js
│ │ ├── jest.config.js
│ │ ├── knip.json
│ │ ├── mdx.d.ts
│ │ ├── next.config.mjs
│ │ ├── package.json
│ │ ├── pages/
│ │ │ ├── 404.tsx
│ │ │ ├── _app.tsx
│ │ │ ├── _document.tsx
│ │ │ ├── _error.tsx
│ │ │ ├── alerts.tsx
│ │ │ ├── api/
│ │ │ │ ├── [...all].ts
│ │ │ │ └── config.ts
│ │ │ ├── benchmark.tsx
│ │ │ ├── careers.tsx
│ │ │ ├── chart.tsx
│ │ │ ├── clickhouse.tsx
│ │ │ ├── dashboards/
│ │ │ │ ├── [dashboardId].tsx
│ │ │ │ ├── import.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── index.tsx
│ │ │ ├── join-team.tsx
│ │ │ ├── kubernetes.tsx
│ │ │ ├── login/
│ │ │ │ └── index.tsx
│ │ │ ├── register.tsx
│ │ │ ├── search/
│ │ │ │ ├── [savedSearchId].tsx
│ │ │ │ └── index.tsx
│ │ │ ├── service-map.tsx
│ │ │ ├── services.tsx
│ │ │ ├── sessions.tsx
│ │ │ └── team/
│ │ │ └── index.tsx
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.cjs
│ │ ├── public/
│ │ │ ├── drain3-0.9.11-py3-none-any.whl
│ │ │ ├── jsonpickle-4.1.1-py3-none-any.whl
│ │ │ └── pyodide/
│ │ │ ├── cachetools-5.3.3-py3-none-any.whl
│ │ │ ├── micropip-0.8.0-py3-none-any.whl
│ │ │ ├── packaging-24.2-py3-none-any.whl
│ │ │ ├── pyodide-lock.json
│ │ │ ├── pyodide.asm.js
│ │ │ ├── pyodide.asm.wasm
│ │ │ └── pyodide.js
│ │ ├── scripts/
│ │ │ ├── move-to-clickhouse.js
│ │ │ ├── prepare-clickhouse-build-export.js
│ │ │ └── run-e2e.js
│ │ ├── src/
│ │ │ ├── AlertsPage.tsx
│ │ │ ├── AuthLoadingBlocker.tsx
│ │ │ ├── AuthPage.tsx
│ │ │ ├── BenchmarkPage.tsx
│ │ │ ├── CareersPage.tsx
│ │ │ ├── ChartUtils.tsx
│ │ │ ├── Checkbox.tsx
│ │ │ ├── ClickhousePage.tsx
│ │ │ ├── Clipboard.tsx
│ │ │ ├── DBChartPage.tsx
│ │ │ ├── DBDashboardImportPage.tsx
│ │ │ ├── DBDashboardPage.tsx
│ │ │ ├── DBSearchPage.tsx
│ │ │ ├── DBSearchPageAlertModal.tsx
│ │ │ ├── DBServiceMapPage.tsx
│ │ │ ├── DOMPlayer.tsx
│ │ │ ├── DashboardFilters.tsx
│ │ │ ├── DashboardFiltersModal.tsx
│ │ │ ├── GranularityPicker.tsx
│ │ │ ├── HDXMarkdownChart.tsx
│ │ │ ├── HDXMultiSeriesTableChart.stories.tsx
│ │ │ ├── HDXMultiSeriesTableChart.tsx
│ │ │ ├── HDXMultiSeriesTimeChart.tsx
│ │ │ ├── InstallInstructionsModal.tsx
│ │ │ ├── JoinTeamPage.tsx
│ │ │ ├── KubernetesDashboardPage.tsx
│ │ │ ├── LandingHeader.tsx
│ │ │ ├── LandingPage.tsx
│ │ │ ├── LogSidePanelElements.stories.tsx
│ │ │ ├── LogSidePanelElements.tsx
│ │ │ ├── NamespaceDetailsSidePanel.tsx
│ │ │ ├── NodeDetailsSidePanel.tsx
│ │ │ ├── OnboardingChecklist.tsx
│ │ │ ├── PasswordCheck.tsx
│ │ │ ├── Playbar.tsx
│ │ │ ├── PlaybarSlider.tsx
│ │ │ ├── PodDetailsSidePanel.tsx
│ │ │ ├── SVGIcons.tsx
│ │ │ ├── ServicesDashboardPage.tsx
│ │ │ ├── SessionEventList.tsx
│ │ │ ├── SessionSidePanel.tsx
│ │ │ ├── SessionSubpanel.tsx
│ │ │ ├── SessionsPage.tsx
│ │ │ ├── Spotlights.tsx
│ │ │ ├── TabBar.tsx
│ │ │ ├── TabBarWithContent.tsx
│ │ │ ├── TabItem.tsx
│ │ │ ├── TeamPage.tsx
│ │ │ ├── ThemeWrapper.tsx
│ │ │ ├── UserPreferencesModal.tsx
│ │ │ ├── __mocks__/
│ │ │ │ ├── ky-universal.ts
│ │ │ │ └── react-json-tree.tsx
│ │ │ ├── __tests__/
│ │ │ │ ├── ChartUtils.test.ts
│ │ │ │ ├── DBSearchPage.test.tsx
│ │ │ │ ├── DBSearchPageQueryKey.test.tsx
│ │ │ │ ├── KubernetesDashboardPage.test.ts
│ │ │ │ ├── ServicesDashboardPage.test.ts
│ │ │ │ ├── Spotlights.test.tsx
│ │ │ │ ├── dashboard.test.ts
│ │ │ │ ├── dashboardSections.test.tsx
│ │ │ │ ├── localStore.test.ts
│ │ │ │ ├── otelSemanticConventions.test.ts
│ │ │ │ ├── searchFilters.test.ts
│ │ │ │ ├── serviceDashboard.test.ts
│ │ │ │ ├── source.test.ts
│ │ │ │ ├── timeQuery.test.tsx
│ │ │ │ ├── useUserPreferences.test.tsx
│ │ │ │ └── utils.test.ts
│ │ │ ├── api.ts
│ │ │ ├── clickhouse.ts
│ │ │ ├── components/
│ │ │ │ ├── AggFnSelect.tsx
│ │ │ │ ├── AlertPreviewChart.tsx
│ │ │ │ ├── AlertScheduleFields.tsx
│ │ │ │ ├── Alerts.tsx
│ │ │ │ ├── AppNav/
│ │ │ │ │ ├── AppNav.components.tsx
│ │ │ │ │ ├── AppNav.module.scss
│ │ │ │ │ ├── AppNav.stories.tsx
│ │ │ │ │ ├── AppNav.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── ChartBox.tsx
│ │ │ │ ├── ChartDisplaySettingsDrawer.tsx
│ │ │ │ ├── ChartEditor/
│ │ │ │ │ ├── RawSqlChartEditor.tsx
│ │ │ │ │ ├── RawSqlChartInstructions.tsx
│ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ └── utils.test.ts
│ │ │ │ │ ├── constants.tsx
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── ChartSQLPreview.tsx
│ │ │ │ ├── ColorSwatchInput.stories.tsx
│ │ │ │ ├── ColorSwatchInput.tsx
│ │ │ │ ├── ConfirmDeleteMenu.tsx
│ │ │ │ ├── ConnectionForm.tsx
│ │ │ │ ├── ConnectionSelect.tsx
│ │ │ │ ├── ContactSupportText.tsx
│ │ │ │ ├── ContextSidePanel.tsx
│ │ │ │ ├── CsvExportButton.tsx
│ │ │ │ ├── DBDeltaChart.tsx
│ │ │ │ ├── DBEditTimeChartForm.tsx
│ │ │ │ ├── DBHeatmapChart.tsx
│ │ │ │ ├── DBHighlightedAttributesList.tsx
│ │ │ │ ├── DBHistogramChart.tsx
│ │ │ │ ├── DBInfraPanel.tsx
│ │ │ │ ├── DBListBarChart.tsx
│ │ │ │ ├── DBNumberChart.tsx
│ │ │ │ ├── DBPieChart.tsx
│ │ │ │ ├── DBRowDataPanel.tsx
│ │ │ │ ├── DBRowJsonViewer.test.tsx
│ │ │ │ ├── DBRowJsonViewer.tsx
│ │ │ │ ├── DBRowOverviewPanel.tsx
│ │ │ │ ├── DBRowSidePanel.tsx
│ │ │ │ ├── DBRowSidePanelHeader.tsx
│ │ │ │ ├── DBRowTable.tsx
│ │ │ │ ├── DBSearchPageFilters/
│ │ │ │ │ ├── NestedFilterGroup.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── DBSearchPageFilters.tsx
│ │ │ │ ├── DBSessionPanel.tsx
│ │ │ │ ├── DBSqlRowTableWithSidebar.tsx
│ │ │ │ ├── DBTable/
│ │ │ │ │ ├── DBRowTableFieldWithPopover.tsx
│ │ │ │ │ ├── DBRowTableIconButton.tsx
│ │ │ │ │ ├── DBRowTableRowButtons.tsx
│ │ │ │ │ ├── TableHeader.module.scss
│ │ │ │ │ ├── TableHeader.tsx
│ │ │ │ │ ├── TableSearchInput.tsx
│ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ ├── TableSearchInput.test.tsx
│ │ │ │ │ │ └── sorting.test.ts
│ │ │ │ │ └── sorting.ts
│ │ │ │ ├── DBTableChart.tsx
│ │ │ │ ├── DBTableSelect.tsx
│ │ │ │ ├── DBTimeChart.tsx
│ │ │ │ ├── DBTracePanel.tsx
│ │ │ │ ├── DBTraceWaterfallChart.tsx
│ │ │ │ ├── DatabaseSelect.tsx
│ │ │ │ ├── DrawerUtils.tsx
│ │ │ │ ├── DynamicFavicon.tsx
│ │ │ │ ├── Error/
│ │ │ │ │ ├── ErrorBoundary.stories.tsx
│ │ │ │ │ ├── ErrorBoundary.tsx
│ │ │ │ │ └── ErrorCollapse.tsx
│ │ │ │ ├── EventTag.tsx
│ │ │ │ ├── ExceptionSubpanel.stories.tsx
│ │ │ │ ├── ExceptionSubpanel.tsx
│ │ │ │ ├── ExpandableRowTable.tsx
│ │ │ │ ├── FullscreenPanelModal.tsx
│ │ │ │ ├── HyperJson.module.scss
│ │ │ │ ├── HyperJson.stories.tsx
│ │ │ │ ├── HyperJson.tsx
│ │ │ │ ├── InputControlled.tsx
│ │ │ │ ├── KubeComponents.tsx
│ │ │ │ ├── KubernetesFilters.tsx
│ │ │ │ ├── LogLevel.tsx
│ │ │ │ ├── MaterializedViews/
│ │ │ │ │ ├── MVConfigSummary.tsx
│ │ │ │ │ ├── MVOptimizationIndicator.tsx
│ │ │ │ │ └── MVOptimizationModal.tsx
│ │ │ │ ├── MetricAttributeHelperPanel.tsx
│ │ │ │ ├── MetricNameSelect.tsx
│ │ │ │ ├── NetworkPropertyPanel.tsx
│ │ │ │ ├── NumberFormat.tsx
│ │ │ │ ├── OnboardingModal.tsx
│ │ │ │ ├── PageHeader.module.scss
│ │ │ │ ├── PageHeader.tsx
│ │ │ │ ├── PatternSidePanel.tsx
│ │ │ │ ├── PatternTable.tsx
│ │ │ │ ├── PropertyComparisonChart.tsx
│ │ │ │ ├── SQLEditor/
│ │ │ │ │ ├── SQLEditor.stories.tsx
│ │ │ │ │ ├── SQLEditor.tsx
│ │ │ │ │ ├── SQLInlineEditor.module.scss
│ │ │ │ │ ├── SQLInlineEditor.stories.tsx
│ │ │ │ │ ├── SQLInlineEditor.tsx
│ │ │ │ │ ├── constants.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── SaveToDashboardModal.tsx
│ │ │ │ ├── Search/
│ │ │ │ │ └── DBSearchHeatmapChart.tsx
│ │ │ │ ├── SearchInput/
│ │ │ │ │ ├── AutocompleteInput.module.scss
│ │ │ │ │ ├── AutocompleteInput.tsx
│ │ │ │ │ ├── InputLanguageSwitch.tsx
│ │ │ │ │ ├── SearchInputV2.module.scss
│ │ │ │ │ ├── SearchInputV2.tsx
│ │ │ │ │ ├── SearchWhereInput.module.scss
│ │ │ │ │ ├── SearchWhereInput.stories.tsx
│ │ │ │ │ ├── SearchWhereInput.tsx
│ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ └── SearchWhereInput.test.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── SearchPageActionBar.tsx
│ │ │ │ ├── SearchTotalCountChart.tsx
│ │ │ │ ├── SectionHeader.tsx
│ │ │ │ ├── SelectControlled.tsx
│ │ │ │ ├── ServiceDashboardDbQuerySidePanel.tsx
│ │ │ │ ├── ServiceDashboardEndpointPerformanceChart.tsx
│ │ │ │ ├── ServiceDashboardEndpointSidePanel.tsx
│ │ │ │ ├── ServiceDashboardSlowestEventsTile.tsx
│ │ │ │ ├── ServiceMap/
│ │ │ │ │ ├── ServiceMap.module.scss
│ │ │ │ │ ├── ServiceMap.tsx
│ │ │ │ │ ├── ServiceMapEdge.tsx
│ │ │ │ │ ├── ServiceMapNode.tsx
│ │ │ │ │ ├── ServiceMapSidePanel.tsx
│ │ │ │ │ ├── ServiceMapTooltip.tsx
│ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ └── utils.test.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── SourceSchemaPreview.tsx
│ │ │ │ ├── SourceSelect.tsx
│ │ │ │ ├── Sources/
│ │ │ │ │ ├── SourceForm.stories.tsx
│ │ │ │ │ ├── SourceForm.tsx
│ │ │ │ │ ├── Sources.module.scss
│ │ │ │ │ ├── SourcesList.stories.tsx
│ │ │ │ │ ├── SourcesList.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── SpanEventsSubpanel.tsx
│ │ │ │ ├── StacktraceFrame.tsx
│ │ │ │ ├── Table.module.scss
│ │ │ │ ├── Table.tsx
│ │ │ │ ├── Tags.module.scss
│ │ │ │ ├── Tags.tsx
│ │ │ │ ├── TeamSettings/
│ │ │ │ │ ├── ApiKeysSection.tsx
│ │ │ │ │ ├── ConnectionsSection.tsx
│ │ │ │ │ ├── IntegrationsSection.tsx
│ │ │ │ │ ├── SecurityPoliciesSection.tsx
│ │ │ │ │ ├── SourcesSection.tsx
│ │ │ │ │ ├── TeamMembersSection.tsx
│ │ │ │ │ ├── TeamQueryConfigSection.tsx
│ │ │ │ │ ├── WebhookForm.tsx
│ │ │ │ │ └── WebhooksSection.tsx
│ │ │ │ ├── TimePicker/
│ │ │ │ │ ├── TimePicker.stories.tsx
│ │ │ │ │ ├── TimePicker.tsx
│ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ └── utils.test.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ ├── useTimePickerForm.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── TimelineChart/
│ │ │ │ │ ├── TimelineChart.module.scss
│ │ │ │ │ ├── TimelineChart.tsx
│ │ │ │ │ ├── TimelineChartRowEvents.tsx
│ │ │ │ │ ├── TimelineCursor.tsx
│ │ │ │ │ ├── TimelineMouseCursor.tsx
│ │ │ │ │ ├── TimelineSpanEventMarker.tsx
│ │ │ │ │ ├── TimelineXAxis.tsx
│ │ │ │ │ ├── __tests__/
│ │ │ │ │ │ └── utils.test.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── WhereLanguageControlled.tsx
│ │ │ │ ├── __tests__/
│ │ │ │ │ ├── AppNavUserMenu.test.tsx
│ │ │ │ │ ├── ConnectionForm.test.tsx
│ │ │ │ │ ├── DBEditTimeChartForm.test.tsx
│ │ │ │ │ ├── DBHistogramChart.test.tsx
│ │ │ │ │ ├── DBListBarChart.test.tsx
│ │ │ │ │ ├── DBNumberChart.test.tsx
│ │ │ │ │ ├── DBPieChart.test.tsx
│ │ │ │ │ ├── DBRowDataPanel.test.ts
│ │ │ │ │ ├── DBRowTable.test.tsx
│ │ │ │ │ ├── DBSearchPage.test.tsx
│ │ │ │ │ ├── DBSearchPageFilters.test.tsx
│ │ │ │ │ ├── DBTableChart.test.tsx
│ │ │ │ │ ├── DBTimeChart.test.tsx
│ │ │ │ │ ├── DBTraceWaterfallChart.test.tsx
│ │ │ │ │ ├── DynamicFavicon.test.tsx
│ │ │ │ │ ├── InputControlled.test.tsx
│ │ │ │ │ ├── MetricNameSelect.test.ts
│ │ │ │ │ ├── SourceForm.test.tsx
│ │ │ │ │ ├── deltaChartFieldClassification.test.ts
│ │ │ │ │ ├── deltaChartFilterKeys.test.ts
│ │ │ │ │ ├── deltaChartSampling.test.ts
│ │ │ │ │ ├── deltaChartScoring.test.ts
│ │ │ │ │ ├── deltaChartUtils.test.ts
│ │ │ │ │ └── heatmapBuckets.test.ts
│ │ │ │ ├── charts/
│ │ │ │ │ ├── ChartContainer.tsx
│ │ │ │ │ ├── ChartErrorState.tsx
│ │ │ │ │ ├── ChartTooltip.tsx
│ │ │ │ │ ├── DateRangeIndicator.tsx
│ │ │ │ │ └── DisplaySwitcher.tsx
│ │ │ │ └── deltaChartUtils.ts
│ │ │ ├── config/
│ │ │ │ └── fonts.ts
│ │ │ ├── config.ts
│ │ │ ├── connection.ts
│ │ │ ├── dashboard.ts
│ │ │ ├── defaults.ts
│ │ │ ├── fixtures.ts
│ │ │ ├── fonts.ts
│ │ │ ├── hdxMTViews.ts
│ │ │ ├── hooks/
│ │ │ │ ├── __tests__/
│ │ │ │ │ ├── useAutoCompleteOptions.test.tsx
│ │ │ │ │ ├── useChartConfig.test.tsx
│ │ │ │ │ ├── useCsvExport.test.tsx
│ │ │ │ │ ├── useDashboardFilterValues.test.tsx
│ │ │ │ │ ├── useDashboardFilters.test.tsx
│ │ │ │ │ ├── useFieldExpressionGenerator.test.tsx
│ │ │ │ │ ├── useMetadata.test.tsx
│ │ │ │ │ ├── useOffsetPaginatedQuery.test.tsx
│ │ │ │ │ ├── usePresetDashboardFilters.test.tsx
│ │ │ │ │ ├── useResizable.test.tsx
│ │ │ │ │ ├── useRowWhere.test.tsx
│ │ │ │ │ ├── useServiceMap.test.ts
│ │ │ │ │ ├── useSqlSuggestions.test.tsx
│ │ │ │ │ └── useTableSearch.test.tsx
│ │ │ │ ├── ai.ts
│ │ │ │ ├── useAutoCompleteOptions.tsx
│ │ │ │ ├── useChartConfig.tsx
│ │ │ │ ├── useCsvExport.tsx
│ │ │ │ ├── useDashboardFilterValues.tsx
│ │ │ │ ├── useDashboardFilters.tsx
│ │ │ │ ├── useDashboardRefresh.tsx
│ │ │ │ ├── useDrag.ts
│ │ │ │ ├── useExplainQuery.tsx
│ │ │ │ ├── useFetchMetricAttributeValues.tsx
│ │ │ │ ├── useFetchMetricMetadata.tsx
│ │ │ │ ├── useFetchMetricResourceAttrs.tsx
│ │ │ │ ├── useFieldExpressionGenerator.tsx
│ │ │ │ ├── useMVOptimizationExplanation.tsx
│ │ │ │ ├── useMetadata.tsx
│ │ │ │ ├── useOffsetPaginatedQuery.tsx
│ │ │ │ ├── usePatterns.tsx
│ │ │ │ ├── usePresetDashboardFilters.tsx
│ │ │ │ ├── useResizable.tsx
│ │ │ │ ├── useRowWhere.tsx
│ │ │ │ ├── useServiceMap.tsx
│ │ │ │ ├── useSqlSuggestions.tsx
│ │ │ │ ├── useStableCallback.ts
│ │ │ │ ├── useTableSearch.ts
│ │ │ │ ├── useVirtualList.tsx
│ │ │ │ └── useWaterfallSearchState.tsx
│ │ │ ├── instrumentation.ts
│ │ │ ├── layout.tsx
│ │ │ ├── localStore.ts
│ │ │ ├── metadata.ts
│ │ │ ├── mocks/
│ │ │ │ └── handlers.ts
│ │ │ ├── otelSemanticConventions.ts
│ │ │ ├── savedSearch.ts
│ │ │ ├── searchFilters.tsx
│ │ │ ├── serviceDashboard.ts
│ │ │ ├── sessions.ts
│ │ │ ├── setupTests.tsx
│ │ │ ├── source.ts
│ │ │ ├── stories/
│ │ │ │ ├── ActionIcon.stories.tsx
│ │ │ │ └── Button.stories.tsx
│ │ │ ├── tableUtils.tsx
│ │ │ ├── theme/
│ │ │ │ ├── ChartColors.stories.tsx
│ │ │ │ ├── SemanticColors.stories.tsx
│ │ │ │ ├── ThemeProvider.tsx
│ │ │ │ ├── __tests__/
│ │ │ │ │ ├── ThemeProvider.test.tsx
│ │ │ │ │ └── index.test.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── semanticColorsGrouped.ts
│ │ │ │ ├── themes/
│ │ │ │ │ ├── _base-tokens.scss
│ │ │ │ │ ├── clickstack/
│ │ │ │ │ │ ├── Logomark.tsx
│ │ │ │ │ │ ├── Wordmark.tsx
│ │ │ │ │ │ ├── _tokens.scss
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── mantineTheme.ts
│ │ │ │ │ └── hyperdx/
│ │ │ │ │ ├── Logomark.tsx
│ │ │ │ │ ├── Wordmark.tsx
│ │ │ │ │ ├── _tokens.scss
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── mantineTheme.ts
│ │ │ │ └── types.ts
│ │ │ ├── timeQuery.ts
│ │ │ ├── types.ts
│ │ │ ├── useConfirm.tsx
│ │ │ ├── useFormatTime.tsx
│ │ │ ├── useQueryParam.tsx
│ │ │ ├── useSourceMappedFrame.tsx
│ │ │ ├── useUserPreferences.tsx
│ │ │ ├── utils/
│ │ │ │ ├── __tests__/
│ │ │ │ │ ├── alerts.test.ts
│ │ │ │ │ ├── highlightedAttributes.test.ts
│ │ │ │ │ ├── materializedViews.test.ts
│ │ │ │ │ └── queryParsers.test.ts
│ │ │ │ ├── alerts.ts
│ │ │ │ ├── curlGenerator.ts
│ │ │ │ ├── highlightedAttributes.ts
│ │ │ │ ├── materializedViews.ts
│ │ │ │ ├── queryParsers.ts
│ │ │ │ ├── searchWindows.ts
│ │ │ │ ├── sessions.ts
│ │ │ │ ├── tilePositioning.ts
│ │ │ │ └── webhookIcons.tsx
│ │ │ ├── utils.ts
│ │ │ ├── vsc-dark-plus.ts
│ │ │ └── zIndex.ts
│ │ ├── stylelint.config.mjs
│ │ ├── styles/
│ │ │ ├── AlertsPage.module.scss
│ │ │ ├── DashboardFiltersModal.module.scss
│ │ │ ├── EndpointSubpanel.module.scss
│ │ │ ├── HDXLineChart.module.scss
│ │ │ ├── Home.module.css
│ │ │ ├── LogSidePanel.module.scss
│ │ │ ├── LogTable.module.scss
│ │ │ ├── PlaybarSlider.module.scss
│ │ │ ├── ResizablePanel.module.scss
│ │ │ ├── SearchPage.module.scss
│ │ │ ├── SessionSubpanelV2.module.scss
│ │ │ ├── SessionsPage.module.scss
│ │ │ ├── SourceSelectControlled.module.scss
│ │ │ ├── _bootstrap-utilities.scss
│ │ │ ├── _utilities.scss
│ │ │ ├── app.scss
│ │ │ ├── focus.module.scss
│ │ │ ├── globals.css
│ │ │ └── variants.module.scss
│ │ ├── tests/
│ │ │ └── e2e/
│ │ │ ├── README.md
│ │ │ ├── components/
│ │ │ │ ├── ChartEditorComponent.ts
│ │ │ │ ├── FilterComponent.ts
│ │ │ │ ├── InfrastructurePanelComponent.ts
│ │ │ │ ├── SavedSearchModalComponent.ts
│ │ │ │ ├── SearchPageAlertModalComponent.ts
│ │ │ │ ├── SidePanelComponent.ts
│ │ │ │ ├── TableComponent.ts
│ │ │ │ ├── TimePickerComponent.ts
│ │ │ │ └── WebhookAlertModalComponent.ts
│ │ │ ├── core/
│ │ │ │ └── navigation.spec.ts
│ │ │ ├── docker-compose.yml
│ │ │ ├── features/
│ │ │ │ ├── alerts.spec.ts
│ │ │ │ ├── chart-explorer.spec.ts
│ │ │ │ ├── dashboard-external-api-config.spec.ts
│ │ │ │ ├── dashboard-external-api-series.spec.ts
│ │ │ │ ├── dashboard.spec.ts
│ │ │ │ ├── kubernetes.spec.ts
│ │ │ │ ├── search/
│ │ │ │ │ ├── relative-time.spec.ts
│ │ │ │ │ ├── saved-search.spec.ts
│ │ │ │ │ ├── search-filters.spec.ts
│ │ │ │ │ └── search.spec.ts
│ │ │ │ ├── services-dashboard.spec.ts
│ │ │ │ ├── sessions.spec.ts
│ │ │ │ ├── shared/
│ │ │ │ │ └── multiline.spec.ts
│ │ │ │ ├── sources.spec.ts
│ │ │ │ ├── team.spec.ts
│ │ │ │ └── traces-workflow.spec.ts
│ │ │ ├── fixtures/
│ │ │ │ └── e2e-fixtures.json
│ │ │ ├── global-setup-fullstack.ts
│ │ │ ├── global-setup-local.ts
│ │ │ ├── page-objects/
│ │ │ │ ├── AlertsPage.ts
│ │ │ │ ├── ChartExplorerPage.ts
│ │ │ │ ├── DashboardPage.ts
│ │ │ │ ├── KubernetesPage.ts
│ │ │ │ ├── SearchPage.ts
│ │ │ │ ├── ServicesDashboardPage.ts
│ │ │ │ ├── SessionsPage.ts
│ │ │ │ └── TeamPage.ts
│ │ │ ├── seed-clickhouse.ts
│ │ │ └── utils/
│ │ │ ├── api-helpers.ts
│ │ │ ├── base-test.ts
│ │ │ ├── constants.ts
│ │ │ └── locators.ts
│ │ ├── tsconfig.build.json
│ │ ├── tsconfig.json
│ │ └── types/
│ │ └── crypto-randomuuid.d.ts
│ ├── common-utils/
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── eslint.config.mjs
│ │ ├── jest.config.js
│ │ ├── jest.int.config.js
│ │ ├── jest.setup.ts
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── __tests__/
│ │ │ │ ├── __snapshots__/
│ │ │ │ │ └── renderChartConfig.test.ts.snap
│ │ │ │ ├── clickhouse.test.ts
│ │ │ │ ├── macros.test.ts
│ │ │ │ ├── metadata.int.test.ts
│ │ │ │ ├── metadata.test.ts
│ │ │ │ ├── queryParser.test.ts
│ │ │ │ ├── rawSqlParams.test.ts
│ │ │ │ ├── renderChartConfig.test.ts
│ │ │ │ ├── sqlFormatter.test.ts
│ │ │ │ ├── utils.test.ts
│ │ │ │ └── validation.test.ts
│ │ │ ├── clickhouse/
│ │ │ │ ├── __tests__/
│ │ │ │ │ ├── index.test.ts
│ │ │ │ │ └── materializedViews.test.ts
│ │ │ │ ├── browser.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── node.ts
│ │ │ ├── core/
│ │ │ │ ├── histogram.ts
│ │ │ │ ├── materializedViews.ts
│ │ │ │ ├── metadata.ts
│ │ │ │ ├── renderChartConfig.ts
│ │ │ │ └── utils.ts
│ │ │ ├── guards.ts
│ │ │ ├── macros.ts
│ │ │ ├── queryParser.ts
│ │ │ ├── rawSqlParams.ts
│ │ │ ├── sqlFormatter.ts
│ │ │ ├── types.ts
│ │ │ └── validation.ts
│ │ ├── tsconfig.json
│ │ └── tsup.config.ts
│ └── otel-collector/
│ ├── CHANGELOG.md
│ ├── cmd/
│ │ └── migrate/
│ │ ├── main.go
│ │ └── main_test.go
│ ├── go.mod
│ ├── go.sum
│ └── package.json
├── proxy/
│ ├── README.md
│ ├── nginx/
│ │ └── nginx.conf.template
│ └── traefik/
│ ├── config.yml
│ └── traefik.yml
├── scripts/
│ ├── test-e2e-ci.sh
│ └── test-e2e.sh
├── smoke-tests/
│ └── otel-collector/
│ ├── README.md
│ ├── auto-parse-json.bats
│ ├── data/
│ │ ├── auto-parse/
│ │ │ ├── default/
│ │ │ │ ├── assert_query.sql
│ │ │ │ ├── expected.snap
│ │ │ │ └── input.json
│ │ │ ├── json-string/
│ │ │ │ ├── assert_query.sql
│ │ │ │ ├── expected.snap
│ │ │ │ └── input.json
│ │ │ └── otel-map/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ ├── normalize-severity/
│ │ │ └── text-case/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ └── severity-inference/
│ │ ├── infer-debug/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ ├── infer-error/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ ├── infer-fatal/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ ├── infer-info/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ ├── infer-superstring/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ ├── infer-trace/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ ├── infer-warn/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ ├── no-infer-substring/
│ │ │ ├── assert_query.sql
│ │ │ ├── expected.snap
│ │ │ └── input.json
│ │ └── skip-infer/
│ │ ├── assert_query.sql
│ │ ├── expected.snap
│ │ └── input.json
│ ├── docker-compose.yaml
│ ├── normalize-severity.bats
│ ├── receiver-config.yaml
│ ├── setup_suite.bash
│ ├── severity-inference.bats
│ └── test_helpers/
│ ├── assertions.bash
│ └── utilities.bash
├── tsconfig.base.json
└── version.sh
================================================
FILE CONTENTS
================================================
================================================
FILE: .changeset/README.md
================================================
# Changesets
Hello and welcome! This folder has been automatically generated by
`@changesets/cli`, a build tool that works with multi-package repos, or
single-package repos to help you version and publish your code. You can find the
full documentation for it
[in our repository](https://github.com/changesets/changesets)
We have a quick list of common questions to get you started engaging with this
project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
================================================
FILE: .changeset/config.json
================================================
{
"$schema": "https://unpkg.com/@changesets/config@2.3.1/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [["@hyperdx/api", "@hyperdx/app", "@hyperdx/otel-collector"]],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch"
}
================================================
FILE: .changeset/fast-plants-peel.md
================================================
---
"@hyperdx/api": patch
"@hyperdx/app": patch
"@hyperdx/otel-collector": patch
---
ci: Replace QEMU with native ARM64 runners for release builds
================================================
FILE: .claude/agents/playwright-test-generator.md
================================================
---
name: playwright-test-generator
description: 'Use this agent when you need to create automated browser tests using Playwright Examples: <example>Context: User wants to generate a test for the test plan item. <test-suite><!-- Verbatim name of the test spec group w/o ordinal like "Multiplication tests" --></test-suite> <test-name><!-- Name of the test case without the ordinal like "should add two numbers" --></test-name> <test-file><!-- Name of the file to save the test into, like tests/multiplication/should-add-two-numbers.spec.ts --></test-file> <seed-file><!-- Seed file path from test plan --></seed-file> <body><!-- Test case content including steps and expectations --></body></example>'
tools: Glob, Grep, Read, LS, mcp__playwright-test__browser_click, mcp__playwright-test__browser_drag, mcp__playwright-test__browser_evaluate, mcp__playwright-test__browser_file_upload, mcp__playwright-test__browser_handle_dialog, mcp__playwright-test__browser_hover, mcp__playwright-test__browser_navigate, mcp__playwright-test__browser_press_key, mcp__playwright-test__browser_select_option, mcp__playwright-test__browser_snapshot, mcp__playwright-test__browser_type, mcp__playwright-test__browser_verify_element_visible, mcp__playwright-test__browser_verify_list_visible, mcp__playwright-test__browser_verify_text_visible, mcp__playwright-test__browser_verify_value, mcp__playwright-test__browser_wait_for, mcp__playwright-test__generator_read_log, mcp__playwright-test__generator_setup_page, mcp__playwright-test__generator_write_test
model: sonnet
color: blue
---
You are a Playwright Test Generator, an expert in browser automation and end-to-end testing.
Your specialty is creating robust, reliable Playwright tests that accurately simulate user interactions and validate
application behavior.
# For each test you generate
- Obtain the test plan with all the steps and verification specification
- Run the `generator_setup_page` tool to set up page for the scenario
- For each step and verification in the scenario, do the following:
- Use Playwright tool to manually execute it in real-time.
- Use the step description as the intent for each Playwright tool call.
- Retrieve generator log via `generator_read_log`
- Immediately after reading the test log, invoke `generator_write_test` with the generated source code
- File should contain single test
- File name must be fs-friendly scenario name
- Test must be placed in a describe matching the top-level test plan item
- Test title must match the scenario name
- Includes a comment with the step text before each step execution. Do not duplicate comments if step requires
multiple actions.
- Always use best practices from the log when generating tests.
## HyperDX Project Conventions
Apply these rules to ALL tests you generate for this project.
### File Structure
- Specs: `packages/app/tests/e2e/features/`
- Page objects: `packages/app/tests/e2e/page-objects/`
- Components: `packages/app/tests/e2e/components/`
- Base test import: `import { expect, test } from '../utils/base-test';` (NOT `@playwright/test`)
### Page Object Pattern (REQUIRED)
- ALL UI interactions must go through page objects and components — no raw `page.getByTestId()`, `page.locator()`, or `page.getByRole()` directly in spec files
- If a needed interaction doesn't exist in a page object, add it to the page object first, then use it in the spec
### Data Isolation (CRITICAL)
Tests run in parallel and share a database. Use `Date.now()` for **every field the API uniqueness-checks**:
```typescript
const ts = Date.now();
const name = `E2E Thing ${ts}`;
const url = `https://example.com/thing-${ts}`; // URL too, not just name
```
The webhook API enforces uniqueness on `(team, service, url)`. Hardcoded URLs will collide.
### Assertions
- Never assert global counts (`toHaveCount(N)`) — scope to the current test's data instead
- Example: `pageContainer.getByRole('link').filter({ hasText: name })` not `getAlertCards().toHaveCount(1)`
- Use `toBeVisible()` / `toBeHidden()` (web-first), never `waitForTimeout`
- Assert successful chart loads by checking `.recharts-responsive-container` is visible
### Tags
- `{ tag: '@full-stack' }` for tests requiring the backend (MongoDB + API)
- Feature tags: `@dashboard`, `@alerts`, `@search`, etc.
<example-generation>
For following plan:
```markdown file=specs/plan.md
### 1. Adding New Todos
**Seed:** `tests/seed.spec.ts`
#### 1.1 Add Valid Todo
**Steps:**
1. Click in the "What needs to be done?" input field
#### 1.2 Add Multiple Todos
...
```
Following file is generated:
```ts file=add-valid-todo.spec.ts
// spec: specs/plan.md
// seed: tests/seed.spec.ts
test.describe('Adding New Todos', () => {
test('Add Valid Todo', async { page } => {
// 1. Click in the "What needs to be done?" input field
await page.click(...);
...
});
});
```
</example-generation>
================================================
FILE: .claude/agents/playwright-test-healer.md
================================================
---
name: playwright-test-healer
description: Use this agent when you need to debug and fix failing Playwright tests
tools: Glob, Grep, Read, LS, Edit, MultiEdit, Write, mcp__playwright-test__browser_console_messages, mcp__playwright-test__browser_evaluate, mcp__playwright-test__browser_generate_locator, mcp__playwright-test__browser_network_requests, mcp__playwright-test__browser_snapshot, mcp__playwright-test__test_debug, mcp__playwright-test__test_list, mcp__playwright-test__test_run
model: sonnet
color: red
---
You are the Playwright Test Healer, an expert test automation engineer specializing in debugging and
resolving Playwright test failures. Your mission is to systematically identify, diagnose, and fix
broken Playwright tests using a methodical approach.
Your workflow:
1. **Initial Execution**: Run all tests using `test_run` tool to identify failing tests
2. **Debug failed tests**: For each failing test run `test_debug`.
3. **Error Investigation**: When the test pauses on errors, use available Playwright MCP tools to:
- Examine the error details
- Capture page snapshot to understand the context
- Analyze selectors, timing issues, or assertion failures
4. **Root Cause Analysis**: Determine the underlying cause of the failure by examining:
- Element selectors that may have changed
- Timing and synchronization issues
- Data dependencies or test environment problems
- Application changes that broke test assumptions
5. **Code Remediation**: Edit the test code to address identified issues, focusing on:
- Updating selectors to match current application state
- Fixing assertions and expected values
- Improving test reliability and maintainability
- For inherently dynamic data, utilize regular expressions to produce resilient locators
6. **Verification**: Restart the test after each fix to validate the changes
7. **Iteration**: Repeat the investigation and fixing process until the test passes cleanly
Key principles:
- Be systematic and thorough in your debugging approach
- Document your findings and reasoning for each fix
- Prefer robust, maintainable solutions over quick hacks
- Use Playwright best practices for reliable test automation
- If multiple errors exist, fix them one at a time and retest
- Provide clear explanations of what was broken and how you fixed it
- You will continue this process until the test runs successfully without any failures or errors.
- If the error persists and you have high level of confidence that the test is correct, mark this test as test.fixme()
so that it is skipped during the execution. Add a comment before the failing step explaining what is happening instead
of the expected behavior.
- Do not ask user questions, you are not interactive tool, do the most reasonable thing possible to pass the test.
- Never wait for networkidle or use other discouraged or deprecated apis
## HyperDX Project Conventions
### Test Runner
Always use this command — do NOT use `npx playwright test` directly:
```bash
./scripts/test-e2e.sh --quiet <file> [--grep "\"<pattern>\""]
```
### Common Failure Patterns
1. **API 400 "already exists" — form won't close**: Check network requests first. The webhook API enforces uniqueness on `(team, service, url)`. Hardcoded URLs collide between parallel tests or retries. Fix: use `` `https://example.com/thing-${Date.now()}` `` for URLs, not just names.
2. **Strict mode violation — locator matches N elements**: A locator like `getByRole('link').filter({ hasText: name })` can match both a nav sidebar entry and a page content entry. Fix: scope to a container, e.g. `alertsPage.pageContainer.getByRole('link').filter({ hasText: name })`.
3. **Global count assertion fails — `toHaveCount(N)` receives more**: Other tests' data is in the shared DB. Fix: replace `toHaveCount(1)` with `filter({ hasText: uniqueName }).toBeVisible()`, and `toHaveCount(0)` with `filter({ hasText: uniqueName }).toBeHidden()`.
4. **`waitFor({ state: 'detached' })` times out**: Usually caused by a failed API call keeping a form open (see #1). Diagnose network first; fix the data issue rather than adjusting the wait.
### Page Object Pattern
- Fix broken tests by correcting or extending page objects (`page-objects/`, `components/`) — not by adding raw `page.getByTestId()` calls to spec files
- The spec file should only call methods/getters defined on page objects
================================================
FILE: .claude/agents/playwright-test-planner.md
================================================
---
name: playwright-test-planner
description: Use this agent when you need to create comprehensive test plan for a web application or website
tools: Glob, Grep, Read, LS, mcp__playwright-test__browser_click, mcp__playwright-test__browser_close, mcp__playwright-test__browser_console_messages, mcp__playwright-test__browser_drag, mcp__playwright-test__browser_evaluate, mcp__playwright-test__browser_file_upload, mcp__playwright-test__browser_handle_dialog, mcp__playwright-test__browser_hover, mcp__playwright-test__browser_navigate, mcp__playwright-test__browser_navigate_back, mcp__playwright-test__browser_network_requests, mcp__playwright-test__browser_press_key, mcp__playwright-test__browser_select_option, mcp__playwright-test__browser_snapshot, mcp__playwright-test__browser_take_screenshot, mcp__playwright-test__browser_type, mcp__playwright-test__browser_wait_for, mcp__playwright-test__planner_setup_page, mcp__playwright-test__planner_save_plan
model: sonnet
color: green
---
You are an expert web test planner with extensive experience in quality assurance, user experience testing, and test
scenario design. Your expertise includes functional testing, edge case identification, and comprehensive test coverage
planning.
You will:
1. **Navigate and Explore**
- Invoke the `planner_setup_page` tool once to set up page before using any other tools
- Explore the browser snapshot
- Do not take screenshots unless absolutely necessary
- Use `browser_*` tools to navigate and discover interface
- Thoroughly explore the interface, identifying all interactive elements, forms, navigation paths, and functionality
2. **Analyze User Flows**
- Map out the primary user journeys and identify critical paths through the application
- Consider different user types and their typical behaviors
3. **Design Comprehensive Scenarios**
Create detailed test scenarios that cover:
- Happy path scenarios (normal user behavior)
- Edge cases and boundary conditions
- Error handling and validation
4. **Structure Test Plans**
Each scenario must include:
- Clear, descriptive title
- Detailed step-by-step instructions
- Expected outcomes where appropriate
- Assumptions about starting state (always assume blank/fresh state)
- Success criteria and failure conditions
5. **Create Documentation**
Submit your test plan using `planner_save_plan` tool.
**Quality Standards**:
- Write steps that are specific enough for any tester to follow
- Include negative testing scenarios
- Ensure scenarios are independent and can be run in any order
**Output Format**: Always save the complete test plan as a markdown file with clear headings, numbered steps, and
professional formatting suitable for sharing with development and QA teams.
## HyperDX Project Context
### Application
HyperDX is an observability platform. Key pages: `/search` (logs/traces), `/dashboards`, `/alerts`, `/metrics`, `/sessions`.
### Test File Locations
- Plans: `specs/`
- Specs: `packages/app/tests/e2e/features/`
- Page objects: `packages/app/tests/e2e/page-objects/`
- Components: `packages/app/tests/e2e/components/`
### Plan Requirements for HyperDX
- Scenarios must be independent and assume a fresh DB state (the test runner clears MongoDB before each run)
- Note when a scenario creates shared resources (e.g. webhooks, saved searches) that could conflict with parallel runs — flag these for data isolation
- Reference existing page objects when describing steps so the generator agent knows what abstractions are available
================================================
FILE: .claude/skills/playwright/SKILL.md
================================================
---
name: playwright
description: Writes end-to-end tests code using Playwright browser automation.
---
# Playwright End-to-End Test Writer
I am a Playwright End-to-End Test Writer. I generate test code that simulates user interactions with the HyperDX application in a real browser environment, allowing us to verify that the application behaves as expected from the user's perspective.
I will write tests covering these requirements: $ARGUMENTS.
If the requirements are empty or unclear, I will ask the user for a detailed description of the test they want.
## Workflow
Use the agents below to carry out each phase. Do not write test code directly in the main context.
### 1. Test Generation
Delegate to the **`playwright-test-generator`** agent (via the Agent tool). Pass it:
- A full description of the test scenario including steps, expected outcomes, and edge cases
- The target spec file path (`packages/app/tests/e2e/features/<feature>.spec.ts`)
- Any relevant page object files that already exist for this feature
The agent will drive a real browser, execute the steps live, and produce spec code that follows HyperDX conventions. Review the output before proceeding.
### 2. Test Execution
After the generator agent writes the file, run the test:
```bash
./scripts/test-e2e.sh --quiet <test-file-name> [--grep "\"<test name pattern>\""]
```
Always run in full-stack mode (default). Do not ask the user about this.
### 3. Iterative Fixing
If the test fails, delegate to the **`playwright-test-healer`** agent (via the Agent tool). Pass it:
- The failing test file path
- The error output
- Any relevant context about what the test is supposed to do
The healer agent will debug interactively, fix the code, and re-run until the test passes.
## HyperDX Project Conventions
These conventions apply to ALL test code produced by any agent. Review generated output to ensure compliance.
### File Structure
- Specs: `packages/app/tests/e2e/features/`
- Page objects: `packages/app/tests/e2e/page-objects/`
- Components: `packages/app/tests/e2e/components/`
- Utilities: `packages/app/tests/e2e/utils/`
- Base test (extends playwright with fixtures): `utils/base-test.ts`
- Constants (source names): `utils/constants.ts`
### Page Object Pattern (REQUIRED)
- ALL UI interactions in spec files must go through page objects (`page-objects/`) and components (`components/`)
- No raw `page.getByTestId()`, `page.locator()`, or `page.getByRole()` calls directly in spec files
- If a needed interaction doesn't exist in a page object, add it to the page object — don't work around it in the spec
### Data Isolation (CRITICAL)
Tests run in parallel and share a database. Use `Date.now()` for **every field the API uniqueness-checks** — not just display names:
```typescript
const ts = Date.now();
const name = `E2E Thing ${ts}`;
const url = `https://example.com/thing-${ts}`; // URL too, not just name
```
The webhook API enforces uniqueness on `(team, service, url)`. A hardcoded URL will collide between parallel runs or retries.
### Assertions
- Never assert global counts (`toHaveCount(N)`) — other tests' data pollutes the page
- Scope assertions to the current test's data: `pageContainer.getByRole('link').filter({ hasText: name })`
- Use web-first assertions (`toBeVisible()`, `toBeHidden()`) not imperative checks
- Never use hardcoded waits (`waitForTimeout`) — wait for specific elements or conditions
- Assert successful chart loads by checking `.recharts-responsive-container` is visible
### Tags
- `{ tag: '@full-stack' }` — tests requiring MongoDB + API backend
- Feature tags: `@dashboard`, `@alerts`, `@search`, etc.
### Imports
Always import from the base test, not directly from `@playwright/test`:
```typescript
import { expect, test } from '../utils/base-test';
```
### Mock ClickHouse Data
- E2E tests run against a local Docker environment with seeded ClickHouse data
- Update `packages/app/tests/e2e/seed-clickhouse.ts` only if the scenario requires specific data not already seeded
================================================
FILE: .cursor/mcp.json
================================================
{
"mcpServers": {
"playwright-test": {
"command": "npx",
"args": ["playwright", "run-test-mcp-server"]
}
}
}
================================================
FILE: .cursor/rules/playwright.mdc
================================================
---
description: HyperDX Playwright E2E test conventions for writing, reviewing, and fixing tests. Use when creating, editing, or debugging any E2E test in this project.
globs:
alwaysApply: false
---
When writing, reviewing, or fixing Playwright E2E tests for this project, follow the conventions in @.claude/skills/playwright/SKILL.md.
To run tests:
```bash
./scripts/test-e2e.sh --quiet <file> [--grep "\"<pattern>\""]
```
================================================
FILE: .gitattributes
================================================
/.yarn/releases/** binary
================================================
FILE: .github/pull_request_template.md
================================================
## Summary
<!--
Describe what changed and why.
Write for reviewers who may not be familiar with this area of the product.
-->
### Screenshots or video
<!--
If this PR includes UI changes, include screenshots or a short video.
For new features, "Before" can be omitted.
Omit this section if the PR does not contain any UI changes.
-->
| Before | After |
| :----- | :---- |
| | |
### How to test locally or on Vercel
<!--
List clear, reproducible steps to validate this change, either locally or on Vercel.
Include any setup needed, such as feature flags, env vars, seed data, or migrations.
-->
1.
2.
3.
### References
<!--
Add any supporting references that help reviewers understand this PR.
Examples: issue/ticket or related PRs.
-->
- Linear Issue:
- Related PRs:
================================================
FILE: .github/workflows/claude-code-review.yml
================================================
name: Claude Code Review
on:
pull_request_target:
types: [opened, synchronize, ready_for_review]
workflow_dispatch:
inputs:
pr_number:
description: Pull request number to review
required: true
type: string
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# - "src/**/*.js"
# - "src/**/*.jsx"
jobs:
claude-review:
if:
github.event_name == 'workflow_dispatch' || github.event.action ==
'ready_for_review' || !github.event.pull_request.draft
# Optional: Filter by PR author
# if: |
# github.event.pull_request.user.login == 'external-contributor' ||
# github.event.pull_request.user.login == 'new-developer' ||
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read
steps:
# Resolve the PR head repo/ref first so both pull_request_target and
# workflow_dispatch runs can checkout forked branches correctly.
- name: Resolve PR metadata
id: pr
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const prNumber =
context.eventName === 'workflow_dispatch'
? Number('${{ inputs.pr_number }}')
: context.payload.pull_request.number;
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prNumber,
});
core.setOutput('number', String(pr.number));
core.setOutput('head_repo', pr.head.repo.full_name);
core.setOutput('head_ref', pr.head.ref);
# Checkout the fork's branch so Claude can read the actual PR code.
# Using the PR head repo/ref works for both fork and non-fork PRs.
- name: Checkout repository
uses: actions/checkout@v4
with:
repository: ${{ steps.pr.outputs.head_repo }}
ref: ${{ steps.pr.outputs.head_ref }}
fetch-depth: 0
- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
allowed_bots: cursor,cursor[bot],claude,claude[bot]
github_token: ${{ secrets.GITHUB_TOKEN }} # Bypasses OIDC auth (required for pull_request_target)
allowed_non_write_users: '*' # Allows fork contributors to trigger reviews
prompt: |
REPO: ${{ github.repository }}
PR NUMBER: ${{ steps.pr.outputs.number }}
Please review this pull request. Use the repository's CLAUDE.md for guidance on style and conventions.
**IMPORTANT: Keep your review SHORT and ACTIONABLE.**
Format your review as a concise bulleted list focusing ONLY on:
- Critical bugs or security issues (if any)
- Important code quality issues or violations of project patterns
- Must-fix items before merge
Skip minor style nitpicks, explanations of obvious issues, and lengthy justifications unless critical.
Each item should be: **Issue** → **Fix** (one line each when possible).
Example format:
- ❌ Unvalidated user input in API endpoint → Add input validation
- ⚠️ Missing error handling in async function → Wrap in try-catch
- 🔒 Hardcoded credentials in config.ts → Move to environment variables
If there are NO critical issues, simply say "✅ No critical issues found."
Note: If the team wants a more thorough review, they can comment on the PR requesting one.
CRITICAL OUTPUT REQUIREMENTS:
1. Return a JSON object with a single "review" field containing your full markdown review.
2. The review markdown must start with EXACTLY these two lines:
<!-- claude-code-review -->
## PR Review
3. Do not post the review yourself using GitHub CLI or any comment tool.
4. The workflow will create or update the PR comment using your structured output.
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://docs.claude.com/en/docs/claude-code/sdk#command-line for available options
claude_args: |
--setting-sources user
--allowedTools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"
--json-schema '{"type":"object","properties":{"review":{"type":"string","description":"Complete markdown review starting with <!-- claude-code-review --> on the first line and ## PR Review on the second line"}},"required":["review"]}'
- name: Find existing Claude review
uses: peter-evans/find-comment@v4
id: find-claude-comment
with:
issue-number: ${{ steps.pr.outputs.number }}
comment-author: github-actions[bot]
body-includes: '<!-- claude-code-review -->'
direction: last
- name: Post or update Claude review
uses: peter-evans/create-or-update-comment@v5
with:
comment-id: ${{ steps.find-claude-comment.outputs.comment-id }}
issue-number: ${{ steps.pr.outputs.number }}
body:
${{ fromJSON(steps.claude-review.outputs.structured_output).review
}}
edit-mode: replace
================================================
FILE: .github/workflows/claude.yml
================================================
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'
- name: Install dependencies
run: yarn install
- name: Build dependencies
run: make ci-build
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
use_sticky_comment: 'true'
include_fix_links: 'true'
claude_args: '--max-turns 20'
================================================
FILE: .github/workflows/e2e-tests.yml
================================================
name: E2E Tests
on:
workflow_call:
jobs:
e2e-tests:
name: E2E Tests - Shard ${{ matrix.shard }}
runs-on: ubuntu-24.04
timeout-minutes: 15
permissions:
contents: read
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3, 4]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache-dependency-path: 'yarn.lock'
cache: 'yarn'
- name: Install dependencies
run: yarn install
- name: Build dependencies
run: npx nx run-many -t ci:build
- name: Install Playwright browsers
run: cd packages/app && npx playwright install --with-deps chromium
- name: Start E2E Docker Compose
run: |
docker compose -p e2e -f packages/app/tests/e2e/docker-compose.yml up -d
echo "Waiting for MongoDB..."
for i in $(seq 1 30); do
if docker compose -p e2e -f packages/app/tests/e2e/docker-compose.yml exec -T db mongosh --port 29998 --quiet --eval "db.adminCommand({ping:1})" >/dev/null 2>&1; then
echo "MongoDB is ready"
break
fi
if [ "$i" -eq 30 ]; then
echo "MongoDB failed to become ready after 30 seconds"
exit 1
fi
echo "Waiting for MongoDB... ($i/30)"
sleep 1
done
echo "Waiting for ClickHouse..."
for i in $(seq 1 60); do
if curl -sf http://localhost:8123/ping >/dev/null 2>&1; then
echo "ClickHouse is ready"
break
fi
if [ "$i" -eq 60 ]; then
echo "ClickHouse failed to become ready after 60 seconds"
exit 1
fi
echo "Waiting for ClickHouse... ($i/60)"
sleep 1
done
- name: Run Playwright tests (full-stack mode)
# E2E uses local docker-compose (MongoDB on 29998, ClickHouse on 8123)
env:
E2E_FULLSTACK: 'true'
E2E_UNIQUE_USER: 'true'
E2E_API_HEALTH_CHECK_MAX_RETRIES: '60'
MONGO_URI: mongodb://localhost:29998/hyperdx-e2e
run: |
cd packages/app
yarn test:e2e --shard=${{ matrix.shard }}/4
- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report-${{ matrix.shard }}
path: packages/app/playwright-report/
retention-days: 30
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results-${{ matrix.shard }}
path: packages/app/test-results/
retention-days: 30
- name: Stop E2E containers
if: always()
run:
docker compose -p e2e -f packages/app/tests/e2e/docker-compose.yml
down -v
================================================
FILE: .github/workflows/main.yml
================================================
name: Main
on:
push:
branches: [main, v1]
pull_request:
branches: [main, v1]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
timeout-minutes: 8
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache-dependency-path: 'yarn.lock'
cache: 'yarn'
- name: Install root dependencies
run: yarn install
- name: Build dependencies
run: make ci-build
- name: Install core libs
run: sudo apt-get install --yes curl bc
- name: Run lint + type check
run: make ci-lint
unit:
timeout-minutes: 8
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache-dependency-path: 'yarn.lock'
cache: 'yarn'
- name: Install root dependencies
run: yarn install
- name: Build dependencies
run: make ci-build
- name: Run unit tests
run: make ci-unit
integration:
timeout-minutes: 8
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache-dependency-path: 'yarn.lock'
cache: 'yarn'
- name: Install root dependencies
run: yarn install
- name: Expose GitHub Runtime
uses: crazy-max/ghaction-github-runtime@v2
- name: Spin up docker services
run: |
docker buildx create --use --driver=docker-container
docker buildx bake -f ./docker-compose.ci.yml --set *.cache-to="type=gha" --set *.cache-from="type=gha" --load
- name: Build dependencies
run: make ci-build
- name: Run integration tests
run: make ci-int
otel-unit-test:
timeout-minutes: 8
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v46
with:
files: |
packages/otel-collector/**
- name: Setup Go
if: steps.changed-files.outputs.any_changed == 'true'
uses: actions/setup-go@v5
with:
go-version-file: packages/otel-collector/go.mod
cache-dependency-path: packages/otel-collector/go.sum
- name: Run unit tests
if: steps.changed-files.outputs.any_changed == 'true'
working-directory: ./packages/otel-collector
run: go test ./...
otel-smoke-test:
timeout-minutes: 8
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get changed OTEL collector files
id: changed-files
uses: tj-actions/changed-files@v46
with:
files: |
docker/otel-collector/**
smoke-tests/otel-ccollector/**
- name: Install required tooling
if: steps.changed-files.outputs.any_changed == 'true'
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
ARCH=$(dpkg --print-architecture)
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=${ARCH}] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install --yes curl bats clickhouse-client
- name: Run Smoke Tests
if: steps.changed-files.outputs.any_changed == 'true'
working-directory: ./smoke-tests/otel-collector
run: bats .
e2e-tests:
uses: ./.github/workflows/e2e-tests.yml
permissions:
contents: read
e2e-report:
name: End-to-End Tests
if: always()
needs: e2e-tests
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: write
steps:
- name: Download all test results
uses: actions/download-artifact@v4
with:
pattern: test-results-*
path: all-test-results
- name: Aggregate test results
id: test-results
if: github.event_name == 'pull_request'
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const fs = require('fs');
const path = require('path');
let totalPassed = 0;
let totalFailed = 0;
let totalFlaky = 0;
let totalSkipped = 0;
let totalDuration = 0;
let foundResults = false;
try {
const resultsDir = 'all-test-results';
const shards = fs.readdirSync(resultsDir);
for (const shard of shards) {
const resultsPath = path.join(resultsDir, shard, 'results.json');
if (fs.existsSync(resultsPath)) {
foundResults = true;
const results = JSON.parse(fs.readFileSync(resultsPath, 'utf8'));
const { stats } = results;
totalPassed += stats.expected || 0;
totalFailed += stats.unexpected || 0;
totalFlaky += stats.flaky || 0;
totalSkipped += stats.skipped || 0;
totalDuration += stats.duration || 0;
}
}
if (foundResults) {
const duration = Math.round(totalDuration / 1000);
const summary = totalFailed > 0
? `❌ **${totalFailed} test${totalFailed > 1 ? 's' : ''} failed**`
: `✅ **All tests passed**`;
return `## E2E Test Results
${summary} • ${totalPassed} passed • ${totalSkipped} skipped • ${duration}s
| Status | Count |
|--------|-------|
| ✅ Passed | ${totalPassed} |
| ❌ Failed | ${totalFailed} |
| ⚠️ Flaky | ${totalFlaky} |
| ⏭️ Skipped | ${totalSkipped} |
Tests ran across ${shards.length} shards in parallel.
[View full report →](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})`;
} else {
return `## E2E Test Results
❌ **Test results file not found**
[View full report →](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})`;
}
} catch (error) {
console.log('Could not parse test results:', error.message);
return `## E2E Test Results
❌ **Error reading test results**: ${error.message}
[View full report →](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})`;
}
- name: Comment PR with test results
uses: mshick/add-pr-comment@v2
# Skip for fork PRs: GITHUB_TOKEN cannot write to the base repo
if:
always() && github.event_name == 'pull_request' &&
github.event.pull_request.head.repo.fork != true
with:
message: ${{ steps.test-results.outputs.result }}
message-id: e2e-test-results
- name: Check test results
id: check-results
run: |
total_failed=0
for dir in all-test-results/*/; do
if [ -f "${dir}results.json" ]; then
unexpected=$(jq -r '.stats.unexpected // 0' "${dir}results.json")
total_failed=$((total_failed + unexpected))
fi
done
if [ "$total_failed" -gt 0 ]; then
echo "::error::$total_failed E2E test(s) failed"
exit 1
fi
# Fail when any shard failed even if we couldn't read failure count from artifacts
if [ "${{ needs.e2e-tests.result }}" = "failure" ]; then
echo "::error::One or more E2E test shards failed"
exit 1
fi
clickhouse-static-build:
name: ClickHouse Bundle Build
runs-on: ubuntu-24.04
timeout-minutes: 10
permissions:
contents: read
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache-dependency-path: 'yarn.lock'
cache: 'yarn'
- name: Install dependencies
run: yarn install
- name: Build App
run: yarn build:clickhouse
- name: Verify output directory exists and has size
run: |
if [ ! -d "packages/app/out" ]; then
echo "::error::Output directory 'packages/app/out' does not exist"
exit 1
fi
echo "✓ Output directory exists"
# Calculate size in bytes and convert to MB
size_kb=$(du -sk packages/app/out | cut -f1)
size_mb=$((size_kb / 1024))
echo "Output directory size: ${size_mb} MB (${size_kb} KB)"
if [ "$size_mb" -lt 10 ]; then
echo "::error::Output directory is only ${size_mb} MB, expected at least 10 MB"
exit 1
fi
echo "✓ Output directory size check passed (${size_mb} MB)"
================================================
FILE: .github/workflows/push.yml
================================================
name: Push Downstream
on:
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
push-downstream:
timeout-minutes: 5
runs-on: ubuntu-24.04
steps:
- uses: actions/github-script@v7
env:
ACTOR: ${{ github.actor }}
AUTHOR: ${{ github.event.head_commit.author.name }}
MESSAGE: ${{ github.event.head_commit.message }}
SHA: ${{ github.sha }}
with:
github-token: ${{ secrets.DOWNSTREAM_TOKEN }}
script: |
const { ACTOR, AUTHOR, MESSAGE, SHA } = process.env;
const result = await github.rest.actions.createWorkflowDispatch({
owner: '${{ secrets.DOWNSTREAM_OWNER }}',
repo: '${{ secrets.DOWNSTREAM_REPO_V2 }}',
workflow_id: '${{ secrets.DOWNSTREAM_WORKFLOW_ID_V2 }}',
ref: 'main',
inputs: {
actor: ACTOR,
author: AUTHOR,
message: MESSAGE,
sha: SHA
}
});
================================================
FILE: .github/workflows/pushv1.yml
================================================
name: Push Downstream V1
on:
push:
branches: [v1]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
push-downstream:
timeout-minutes: 5
runs-on: ubuntu-24.04
steps:
- uses: actions/github-script@v7
env:
ACTOR: ${{ github.actor }}
MESSAGE: ${{ github.event.head_commit.message }}
SHA: ${{ github.sha }}
with:
github-token: ${{ secrets.DOWNSTREAM_TOKEN }}
script: |
const { ACTOR, MESSAGE, SHA } = process.env;
const result = await github.rest.actions.createWorkflowDispatch({
owner: '${{ secrets.DOWNSTREAM_OWNER }}',
repo: '${{ secrets.DOWNSTREAM_REPO }}',
workflow_id: '${{ secrets.DOWNSTREAM_WORKFLOW_ID }}',
ref: 'main',
inputs: {
sha: SHA,
actor: ACTOR,
message: MESSAGE
}
});
================================================
FILE: .github/workflows/release-nightly.yml
================================================
name: Release Nightly
on:
schedule:
# Run at 0:00 AM UTC every day
- cron: '0 0 * * *'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
packages: write
pull-requests: write
actions: read
jobs:
# ---------------------------------------------------------------------------
# OTel Collector Nightly
# ---------------------------------------------------------------------------
build-otel-collector-nightly:
name: Build OTel Collector Nightly (${{ matrix.arch }})
strategy:
fail-fast: true
matrix:
include:
- arch: amd64
platform: linux/amd64
runner: ubuntu-latest
- arch: arm64
platform: linux/arm64
runner: ubuntu-latest-arm64
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Build and Push
uses: docker/build-push-action@v6
with:
context: .
file: ./docker/otel-collector/Dockerfile
platforms: ${{ matrix.platform }}
target: prod
tags: |
${{ env.OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
${{ env.NEXT_OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
push: true
cache-from: type=gha,scope=otel-collector-nightly-${{ matrix.arch }}
cache-to:
type=gha,mode=max,scope=otel-collector-nightly-${{ matrix.arch }}
publish-otel-collector-nightly:
name: Publish OTel Collector Nightly Manifest
needs: build-otel-collector-nightly
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch manifests
run: |
TAG="${{ env.IMAGE_NIGHTLY_TAG }}"
for IMAGE in "${{ env.OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB }}" "${{ env.NEXT_OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB }}"; do
docker buildx imagetools create \
-t "${IMAGE}:${TAG}" \
"${IMAGE}:${TAG}-amd64" \
"${IMAGE}:${TAG}-arm64"
done
# ---------------------------------------------------------------------------
# App Nightly
# ---------------------------------------------------------------------------
build-app-nightly:
name: Build App Nightly (${{ matrix.arch }})
strategy:
fail-fast: true
matrix:
include:
- arch: amd64
platform: linux/amd64
runner: Large-Runner-x64-32
- arch: arm64
platform: linux/arm64
runner: Large-Runner-ARM64-32
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Build and Push
uses: docker/build-push-action@v6
with:
file: ./docker/hyperdx/Dockerfile
platforms: ${{ matrix.platform }}
target: prod
build-contexts: |
hyperdx=./docker/hyperdx
api=./packages/api
app=./packages/app
build-args: |
CODE_VERSION=${{ env.IMAGE_NIGHTLY_TAG }}
tags: |
${{ env.IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
push: true
sbom: true
provenance: true
cache-from: type=gha,scope=app-nightly-${{ matrix.arch }}
cache-to: type=gha,mode=max,scope=app-nightly-${{ matrix.arch }}
publish-app-nightly:
name: Publish App Nightly Manifest
needs: build-app-nightly
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch manifest
run: |
TAG="${{ env.IMAGE_NIGHTLY_TAG }}"
IMAGE="${{ env.IMAGE_NAME_DOCKERHUB }}"
docker buildx imagetools create \
-t "${IMAGE}:${TAG}" \
"${IMAGE}:${TAG}-amd64" \
"${IMAGE}:${TAG}-arm64"
# ---------------------------------------------------------------------------
# Local Nightly (all-in-one-noauth)
# ---------------------------------------------------------------------------
build-local-nightly:
name: Build Local Nightly (${{ matrix.arch }})
strategy:
fail-fast: true
matrix:
include:
- arch: amd64
platform: linux/amd64
runner: Large-Runner-x64-32
- arch: arm64
platform: linux/arm64
runner: Large-Runner-ARM64-32
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Build and Push
uses: docker/build-push-action@v6
with:
file: ./docker/hyperdx/Dockerfile
platforms: ${{ matrix.platform }}
target: all-in-one-noauth
build-contexts: |
clickhouse=./docker/clickhouse
otel-collector=./docker/otel-collector
hyperdx=./docker/hyperdx
api=./packages/api
app=./packages/app
build-args: |
CODE_VERSION=${{ env.IMAGE_NIGHTLY_TAG }}
tags: |
${{ env.LOCAL_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
${{ env.NEXT_LOCAL_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
push: true
sbom: true
provenance: true
cache-from: type=gha,scope=local-nightly-${{ matrix.arch }}
cache-to: type=gha,mode=max,scope=local-nightly-${{ matrix.arch }}
publish-local-nightly:
name: Publish Local Nightly Manifest
needs: build-local-nightly
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch manifests
run: |
TAG="${{ env.IMAGE_NIGHTLY_TAG }}"
for IMAGE in "${{ env.LOCAL_IMAGE_NAME_DOCKERHUB }}" "${{ env.NEXT_LOCAL_IMAGE_NAME_DOCKERHUB }}"; do
docker buildx imagetools create \
-t "${IMAGE}:${TAG}" \
"${IMAGE}:${TAG}-amd64" \
"${IMAGE}:${TAG}-arm64"
done
# ---------------------------------------------------------------------------
# All-in-One Nightly (all-in-one-auth)
# ---------------------------------------------------------------------------
build-all-in-one-nightly:
name: Build All-in-One Nightly (${{ matrix.arch }})
strategy:
fail-fast: true
matrix:
include:
- arch: amd64
platform: linux/amd64
runner: Large-Runner-x64-32
- arch: arm64
platform: linux/arm64
runner: Large-Runner-ARM64-32
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Build and Push
uses: docker/build-push-action@v6
with:
file: ./docker/hyperdx/Dockerfile
platforms: ${{ matrix.platform }}
target: all-in-one-auth
build-contexts: |
clickhouse=./docker/clickhouse
otel-collector=./docker/otel-collector
hyperdx=./docker/hyperdx
api=./packages/api
app=./packages/app
build-args: |
CODE_VERSION=${{ env.IMAGE_NIGHTLY_TAG }}
tags: |
${{ env.ALL_IN_ONE_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
${{ env.NEXT_ALL_IN_ONE_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_NIGHTLY_TAG }}-${{ matrix.arch }}
push: true
sbom: true
provenance: true
cache-from: type=gha,scope=all-in-one-nightly-${{ matrix.arch }}
cache-to:
type=gha,mode=max,scope=all-in-one-nightly-${{ matrix.arch }}
publish-all-in-one-nightly:
name: Publish All-in-One Nightly Manifest
needs: build-all-in-one-nightly
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch manifests
run: |
TAG="${{ env.IMAGE_NIGHTLY_TAG }}"
for IMAGE in "${{ env.ALL_IN_ONE_IMAGE_NAME_DOCKERHUB }}" "${{ env.NEXT_ALL_IN_ONE_IMAGE_NAME_DOCKERHUB }}"; do
docker buildx imagetools create \
-t "${IMAGE}:${TAG}" \
"${IMAGE}:${TAG}-amd64" \
"${IMAGE}:${TAG}-arm64"
done
# ---------------------------------------------------------------------------
# Failure notification + OTel
# ---------------------------------------------------------------------------
slack-notify-failure:
needs:
[
publish-otel-collector-nightly,
publish-app-nightly,
publish-local-nightly,
publish-all-in-one-nightly,
]
runs-on: ubuntu-24.04
if: failure() && always()
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get failed jobs
id: get_failed_jobs
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const response = await github.rest.actions.listJobsForWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.runId
});
const failedJobs = response.data.jobs
.filter(job => job.status === 'completed' && job.conclusion === 'failure')
.map(job => job.name)
.join(', ');
core.setOutput('failed_jobs', failedJobs);
- name: Slack Notification
uses: 8398a7/action-slack@v3
with:
status: custom
fields: repo,workflow,commit,author
custom_payload: |
{
"text": "Release Nightly Failed",
"attachments": [{
"color": "danger",
"fields": [
{
"title": "Failed Build",
"value": "${{ steps.get_failed_jobs.outputs.failed_jobs }}",
"short": false
},
{
"title": "Commit",
"value": "<https://github.com/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>",
"short": false
},
{
"title": "Author",
"value": "${{ github.actor }}",
"short": true
}
]
}]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_ENG_NOTIFS }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
otel-cicd-action:
if: always()
name: OpenTelemetry Export Trace
runs-on: ubuntu-latest
needs:
[
publish-otel-collector-nightly,
publish-app-nightly,
publish-local-nightly,
publish-all-in-one-nightly,
slack-notify-failure,
]
steps:
- name: Export workflow
uses: corentinmusard/otel-cicd-action@v4
with:
otlpEndpoint: ${{ secrets.OTLP_ENDPOINT }}/v1/traces
otlpHeaders: ${{ secrets.OTLP_HEADERS }}
otelServiceName: 'release-nightly-hyperdx-oss-workflow'
githubToken: ${{ secrets.GITHUB_TOKEN }}
================================================
FILE: .github/workflows/release.yml
================================================
name: Release
on:
push:
branches: [main]
permissions:
contents: write
packages: write
pull-requests: write
actions: read
jobs:
check_changesets:
name: Check Changesets
runs-on: ubuntu-24.04
outputs:
changeset_outputs_hasChangesets:
${{ steps.changesets.outputs.hasChangesets }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache-dependency-path: 'yarn.lock'
cache: 'yarn'
- name: Install root dependencies
run: yarn install
- name: Create Release Pull Request or Publish to npm
if: always()
continue-on-error: true
id: changesets
uses: changesets/action@v1
with:
commit: 'chore(release): bump HyperDX app/package versions'
title: 'Release HyperDX'
version: yarn run version
publish: yarn release
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
# ---------------------------------------------------------------------------
# Check if version already published (skip-if-exists)
# ---------------------------------------------------------------------------
check_version:
name: Check if version exists
needs: check_changesets
runs-on: ubuntu-24.04
if:
needs.check_changesets.outputs.changeset_outputs_hasChangesets == 'false'
outputs:
should_release: ${{ steps.check.outputs.should_release }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Check if app image tag already exists
id: check
run: |
TAG_EXISTS=$(docker manifest inspect ${{ env.IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }} > /dev/null 2>&1 && echo "true" || echo "false")
if [ "$TAG_EXISTS" = "true" ]; then
echo "Tag ${{ env.IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }} already exists. Skipping release."
echo "should_release=false" >> $GITHUB_OUTPUT
else
echo "Tag does not exist. Proceeding with release."
echo "should_release=true" >> $GITHUB_OUTPUT
fi
# ---------------------------------------------------------------------------
# OTel Collector – build each arch natively, then merge into multi-arch tag
# ---------------------------------------------------------------------------
build-otel-collector:
name: Build OTel Collector (${{ matrix.arch }})
needs: [check_changesets, check_version]
if: needs.check_version.outputs.should_release == 'true'
strategy:
fail-fast: true
matrix:
include:
- arch: amd64
platform: linux/amd64
runner: ubuntu-latest
- arch: arm64
platform: linux/arm64
runner: ubuntu-latest-arm64
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Build and Push
uses: docker/build-push-action@v6
with:
context: .
file: ./docker/otel-collector/Dockerfile
platforms: ${{ matrix.platform }}
target: prod
tags: |
${{ env.OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
${{ env.NEXT_OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
push: true
cache-from: type=gha,scope=otel-collector-${{ matrix.arch }}
cache-to: type=gha,mode=max,scope=otel-collector-${{ matrix.arch }}
publish-otel-collector:
name: Publish OTel Collector Manifest
needs: [check_version, build-otel-collector]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch manifests
run: |
VERSION="${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}"
MAJOR="${{ env.IMAGE_VERSION }}"
LATEST="${{ env.IMAGE_LATEST_TAG }}"
for IMAGE in "${{ env.OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB }}" "${{ env.NEXT_OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB }}"; do
docker buildx imagetools create \
-t "${IMAGE}:${VERSION}" \
-t "${IMAGE}:${MAJOR}" \
-t "${IMAGE}:${LATEST}" \
"${IMAGE}:${VERSION}-amd64" \
"${IMAGE}:${VERSION}-arm64"
done
# ---------------------------------------------------------------------------
# App (fullstack prod) – build each arch natively, then merge
# ---------------------------------------------------------------------------
build-app:
name: Build App (${{ matrix.arch }})
needs: [check_changesets, check_version]
if: needs.check_version.outputs.should_release == 'true'
strategy:
fail-fast: true
matrix:
include:
- arch: amd64
platform: linux/amd64
runner: Large-Runner-x64-32
- arch: arm64
platform: linux/arm64
runner: Large-Runner-ARM64-32
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Build and Push
uses: docker/build-push-action@v6
with:
file: ./docker/hyperdx/Dockerfile
platforms: ${{ matrix.platform }}
target: prod
build-contexts: |
hyperdx=./docker/hyperdx
api=./packages/api
app=./packages/app
build-args: |
CODE_VERSION=${{ env.CODE_VERSION }}
tags: |
${{ env.IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
push: true
sbom: true
provenance: true
cache-from: type=gha,scope=app-${{ matrix.arch }}
cache-to: type=gha,mode=max,scope=app-${{ matrix.arch }}
publish-app:
name: Publish App Manifest
needs: [check_version, build-app]
runs-on: ubuntu-latest
outputs:
app_was_pushed: 'true'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch manifest
run: |
VERSION="${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}"
MAJOR="${{ env.IMAGE_VERSION }}"
LATEST="${{ env.IMAGE_LATEST_TAG }}"
IMAGE="${{ env.IMAGE_NAME_DOCKERHUB }}"
docker buildx imagetools create \
-t "${IMAGE}:${VERSION}" \
-t "${IMAGE}:${MAJOR}" \
-t "${IMAGE}:${LATEST}" \
"${IMAGE}:${VERSION}-amd64" \
"${IMAGE}:${VERSION}-arm64"
# ---------------------------------------------------------------------------
# Local (all-in-one-noauth) – build each arch natively, then merge
# ---------------------------------------------------------------------------
build-local:
name: Build Local (${{ matrix.arch }})
needs: [check_changesets, check_version]
if: needs.check_version.outputs.should_release == 'true'
strategy:
fail-fast: true
matrix:
include:
- arch: amd64
platform: linux/amd64
runner: Large-Runner-x64-32
- arch: arm64
platform: linux/arm64
runner: Large-Runner-ARM64-32
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Build and Push
uses: docker/build-push-action@v6
with:
file: ./docker/hyperdx/Dockerfile
platforms: ${{ matrix.platform }}
target: all-in-one-noauth
build-contexts: |
clickhouse=./docker/clickhouse
otel-collector=./docker/otel-collector
hyperdx=./docker/hyperdx
api=./packages/api
app=./packages/app
build-args: |
CODE_VERSION=${{ env.CODE_VERSION }}
tags: |
${{ env.LOCAL_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
${{ env.NEXT_LOCAL_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
push: true
sbom: true
provenance: true
cache-from: type=gha,scope=local-${{ matrix.arch }}
cache-to: type=gha,mode=max,scope=local-${{ matrix.arch }}
publish-local:
name: Publish Local Manifest
needs: [check_version, build-local]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch manifests
run: |
VERSION="${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}"
MAJOR="${{ env.IMAGE_VERSION }}"
LATEST="${{ env.IMAGE_LATEST_TAG }}"
for IMAGE in "${{ env.LOCAL_IMAGE_NAME_DOCKERHUB }}" "${{ env.NEXT_LOCAL_IMAGE_NAME_DOCKERHUB }}"; do
docker buildx imagetools create \
-t "${IMAGE}:${VERSION}" \
-t "${IMAGE}:${MAJOR}" \
-t "${IMAGE}:${LATEST}" \
"${IMAGE}:${VERSION}-amd64" \
"${IMAGE}:${VERSION}-arm64"
done
# ---------------------------------------------------------------------------
# All-in-One (all-in-one-auth) – build each arch natively, then merge
# ---------------------------------------------------------------------------
build-all-in-one:
name: Build All-in-One (${{ matrix.arch }})
needs: [check_changesets, check_version]
if: needs.check_version.outputs.should_release == 'true'
strategy:
fail-fast: true
matrix:
include:
- arch: amd64
platform: linux/amd64
runner: Large-Runner-x64-32
- arch: arm64
platform: linux/arm64
runner: Large-Runner-ARM64-32
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Build and Push
uses: docker/build-push-action@v6
with:
file: ./docker/hyperdx/Dockerfile
platforms: ${{ matrix.platform }}
target: all-in-one-auth
build-contexts: |
clickhouse=./docker/clickhouse
otel-collector=./docker/otel-collector
hyperdx=./docker/hyperdx
api=./packages/api
app=./packages/app
build-args: |
CODE_VERSION=${{ env.CODE_VERSION }}
tags: |
${{ env.ALL_IN_ONE_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
${{ env.NEXT_ALL_IN_ONE_IMAGE_NAME_DOCKERHUB }}:${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}-${{ matrix.arch }}
push: true
sbom: true
provenance: true
cache-from: type=gha,scope=all-in-one-${{ matrix.arch }}
cache-to: type=gha,mode=max,scope=all-in-one-${{ matrix.arch }}
publish-all-in-one:
name: Publish All-in-One Manifest
needs: [check_version, build-all-in-one]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch manifests
run: |
VERSION="${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}"
MAJOR="${{ env.IMAGE_VERSION }}"
LATEST="${{ env.IMAGE_LATEST_TAG }}"
for IMAGE in "${{ env.ALL_IN_ONE_IMAGE_NAME_DOCKERHUB }}" "${{ env.NEXT_ALL_IN_ONE_IMAGE_NAME_DOCKERHUB }}"; do
docker buildx imagetools create \
-t "${IMAGE}:${VERSION}" \
-t "${IMAGE}:${MAJOR}" \
-t "${IMAGE}:${LATEST}" \
"${IMAGE}:${VERSION}-amd64" \
"${IMAGE}:${VERSION}-arm64"
done
# ---------------------------------------------------------------------------
# Downstream notifications
# ---------------------------------------------------------------------------
notify_helm_charts:
name: Notify Helm-Charts Downstream
needs:
[
check_changesets,
publish-app,
publish-otel-collector,
publish-local,
publish-all-in-one,
]
runs-on: ubuntu-24.04
if: |
needs.check_changesets.outputs.changeset_outputs_hasChangesets == 'false' &&
needs.publish-app.outputs.app_was_pushed == 'true'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Notify Helm-Charts Downstream
uses: actions/github-script@v7
continue-on-error: true
env:
TAG: ${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}
with:
github-token: ${{ secrets.CH_BOT_PAT }}
script: |
const { TAG } = process.env;
const result = await github.rest.actions.createWorkflowDispatch({
owner: 'ClickHouse',
repo: 'ClickStack-helm-charts',
workflow_id: '${{ secrets.DOWNSTREAM_HC_WORKFLOW_ID }}',
ref: 'main',
inputs: {
tag: TAG
}
});
notify_ch:
name: Notify CH Downstream
needs:
[
check_changesets,
publish-app,
publish-otel-collector,
publish-local,
publish-all-in-one,
]
runs-on: ubuntu-24.04
# Temporarily disabled:
if: false
# if: |
# needs.check_changesets.outputs.changeset_outputs_hasChangesets == 'false' &&
# needs.publish-app.outputs.app_was_pushed == 'true'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Get Downstream App Installation Token
id: auth
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.DOWNSTREAM_CH_APP_ID }}
private-key: ${{ secrets.DOWNSTREAM_CH_APP_PRIVATE_KEY }}
owner: ${{ secrets.DOWNSTREAM_CH_OWNER }}
- name: Notify CH Downstream
uses: actions/github-script@v7
continue-on-error: true
env:
TAG: ${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}
with:
github-token: ${{ steps.auth.outputs.token }}
script: |
const { TAG } = process.env;
const result = await github.rest.actions.createWorkflowDispatch({
owner: '${{ secrets.DOWNSTREAM_CH_OWNER }}',
repo: '${{ secrets.DOWNSTREAM_DP_REPO }}',
workflow_id: '${{ secrets.DOWNSTREAM_DP_WORKFLOW_ID }}',
ref: 'main',
inputs: {
tag: TAG
}
});
notify_clickhouse_clickstack:
needs:
[
check_changesets,
publish-app,
publish-otel-collector,
publish-local,
publish-all-in-one,
]
if: needs.publish-app.outputs.app_was_pushed == 'true'
timeout-minutes: 5
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Environment Variables from .env
uses: xom9ikk/dotenv@v2
- name: Notify ClickHouse/clickhouse-clickstack Downstream
uses: actions/github-script@v7
continue-on-error: true
env:
TAG: ${{ env.IMAGE_VERSION }}${{ env.IMAGE_VERSION_SUB_TAG }}
with:
github-token: ${{ secrets.CH_BOT_PAT }}
script: |
const { TAG } = process.env;
const result = await github.rest.actions.createWorkflowDispatch({
owner: 'ClickHouse',
repo: 'clickhouse-clickstack',
workflow_id: 'sync-hyperdx.yml',
ref: 'main',
inputs: {
tag: TAG,
}
});
otel-cicd-action:
if: always()
name: OpenTelemetry Export Trace
runs-on: ubuntu-latest
needs:
[
check_changesets,
publish-app,
publish-otel-collector,
publish-local,
publish-all-in-one,
notify_helm_charts,
notify_ch,
notify_clickhouse_clickstack,
]
steps:
- name: Export workflow
uses: corentinmusard/otel-cicd-action@v4
with:
otlpEndpoint: ${{ secrets.OTLP_ENDPOINT }}/v1/traces
otlpHeaders: ${{ secrets.OTLP_HEADERS }}
otelServiceName: 'release-hyperdx-oss-workflow'
githubToken: ${{ secrets.GITHUB_TOKEN }}
================================================
FILE: .github/workflows/security-audit.yml
================================================
name: Vulnerability Alerts
on:
schedule:
- cron: '0 9 * * *' # Daily at 9am UTC
workflow_dispatch:
jobs:
alert:
runs-on: ubuntu-latest
steps:
- uses: kunalnagarco/action-cve@v1.14.23
with:
org: hyperdxio
token: ${{ secrets.DEPENDABOT_NOTIF_PAT }}
slack_webhook: ${{ secrets.SLACK_WEBHOOK_VULNERABILITIES }}
severity: medium,high,critical
================================================
FILE: .gitignore
================================================
# Claude Code user-local settings (not project config)
.claude/settings.local.json
# Override global .gitignore to track project-level AI tooling configs
!.cursor
!.cursor/mcp.json
.worktrees
# Playwright MCP scratch files
seed.spec.ts
specs/
# misc
**/.DS_Store
**/*.pem
**/keys
# logs
**/*.log
**/npm-debug.log*
**/lerna-debug.log*
# yarn
**/yarn-debug.log*
**/yarn-error.log*
.yarn/*
!.yarn/cache
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
# dotenv environment variable files
**/.env.development.local
**/.env.test.local
**/.env.production.local
**/.env.local
**/.dockerhub.env
**/.ghcr.env
# Next.js build output
packages/app/.next
packages/app/.pnp
packages/app/.pnp.js
packages/app/.vercel
packages/app/coverage
packages/app/out
packages/app/tmp
packages/app/next-env.d.ts
# optional npm cache directory
**/.npm
# dependency directories
**/node_modules
# build output
**/dist
**/build
**/tsconfig.tsbuildinfo
# jest coverage report
**/coverage
# e2e
e2e/cypress/screenshots/
e2e/cypress/videos/
e2e/cypress/results
# playwright
**/test-results/
**/playwright-report/
**/playwright/.cache/
**/.auth/
# storybook
**/storybook-static/
# scripts
scripts/*.csv
**/venv
**/__pycache__/
*.py[cod]
*$py.class
# docker
docker-compose.prod.yml
.volumes
# NX
.nx/
# webstorm
.idea
================================================
FILE: .husky/pre-commit
================================================
#!/usr/bin/env sh
set -e
. "$(dirname -- "$0")/_/husky.sh"
npx lint-staged
================================================
FILE: .kodiak.toml
================================================
version = 1
[merge]
# Label to enable Kodiak to merge a PR.
automerge_label = "automerge"
# When disabled, Kodiak will immediately attempt to merge any PR that passes all
# GitHub branch protection requirements.
require_automerge_label = true
# If you're using the "Require signed commits" GitHub Branch Protection setting
# to require commit signatures, "merge" or "squash" are the only compatible options. "rebase" will cause Kodiak to raise a configuration error.
method = "squash" # default: "merge", options: "merge", "squash", "rebase"
# Once a PR is merged, delete the branch. This option behaves like the GitHub
# repository setting "Automatically delete head branches", which automatically
# deletes head branches after pull requests are merged.
delete_branch_on_merge = true # default: false
# If there is a merge conflict, make a comment on the PR and remove the
# automerge label. This option only applies when `merge.require_automerge_label`
# is enabled.
notify_on_conflict = true # default: true
# Don't wait for in-progress status checks on a PR to finish before updating the
# branch.
optimistic_updates = true # default: true
# If a PR is passing all checks and is able to be merged, merge it without
# placing it in the merge queue. This option adds some unfairness where PRs
# waiting in the queue the longest are not served first.
prioritize_ready_to_merge = true # default: false
# Never merge a PR. This option can be used with `update.always` to
# automatically update a PR without merging.
do_not_merge = false # default: false
[merge.message]
# By default (`"github_default"`), GitHub uses the title of a PR's first commit
# for the merge commit title. `"pull_request_title"` uses the PR title for the
# merge commit.
title = "pull_request_title" # default: "github_default", options: "github_default", "pull_request_title"
# By default (`"github_default"`), GitHub combines the titles of a PR's commits
# to create the body text of a merge commit. `"pull_request_body"` uses the
# content of the PR to generate the body content while `"empty"` sets an empty
# body.
body = "pull_request_body" # default: "github_default", options: "github_default", "pull_request_body", "empty"
# Append the Pull Request URL to the merge message. Makes navigating to the PR
# from the commit easier.
#### NOTE: 'true' required for benchmarks in CI:
include_pull_request_url = false # default: false
# Add the PR number to the merge commit title. This setting replicates GitHub's
# behavior of automatically adding the PR number to the title of merges created
# through the UI. This option only applies when `merge.message.title` does not
# equal `"github_default"`.
### NOTE: if this is set to true github links to unrelated OSS issues, which is confusing
include_pr_number = true # default: true
# Control the text used in the merge commit. The GitHub default is markdown, but
# `"plain_text"` or `"html"` can be used to render the pull request body as text
# or HTML. This option only applies when `merge.message.body = "pull_request_body"`.
body_type = "markdown" # default: "markdown", options: "plain_text", "markdown", "html"
# Strip HTML comments (`<!-- some HTML comment -->`) from merge commit body.
# This setting is useful for stripping HTML comments created by PR templates.
# This option only applies when `merge.message.body_type = "markdown"`.
strip_html_comments = true # default: false
# Remove all content before the configured string in the pull request body.
# This setting is useful when we want to include only a part of the pull request
# description as the commit message.
# This option only applies when `merge.message.body_type = "markdown"`.
cut_body_before = "<!-- kodiak-commit-message-body-start: do not remove/edit this line -->"
include_coauthors = true
[update]
# Update a PR whenever out of date with the base branch. The PR will be updated
# regardless of merge requirements (e.g. failing status checks, missing reviews,
# blacklist labels).
#
# Kodiak will only update PRs with the `merge.automerge_label` label or if
# `update.require_automerge_label = false`.
#
# When enabled, _Kodiak will not be able to efficiently update PRs._ If you have
# multiple PRs against a target like `master`, any time a commit is added to
# `master` _all_ of those PRs against `master` will update. For `N` PRs against
# a target you will see at least `N(N-1)/2` updates. If this configuration
# option was disabled you would only see at least `N-1` updates.
always = false # default: false
# When enabled, Kodiak will only update PRs that have an automerge label
# (configured via `merge.automerge_label`). When disable, Kodiak will update any
# PR. This option only applies when `update.always = true`.
require_automerge_label = true # default: true
================================================
FILE: .mcp.json
================================================
{
"mcpServers": {
"playwright-test": {
"command": "npx",
"args": ["playwright", "run-test-mcp-server"]
}
}
}
================================================
FILE: .nvmrc
================================================
22.21.1
================================================
FILE: .opencode/commands/do-linear.md
================================================
---
description:
Fetch a Linear ticket, implement the fix/feature, test, commit, push, and
raise a PR
---
Look up the Linear ticket $ARGUMENTS. Read the ticket description, comments, and
any linked resources thoroughly.
## Phase 1: Understand the Ticket
- Summarize the ticket — what is being asked for (bug fix, feature, refactor,
etc.)
- Identify acceptance criteria or expected behavior from the description
- Note any linked issues, related tickets, or dependencies
If the ticket description is too vague or lacks enough information to proceed
confidently, **stop and ask me for clarification** before writing any code.
Explain exactly what information is missing and what assumptions you would need
to make.
## Phase 2: Plan and Implement
Before writing code, read the relevant documentation from the `agent_docs/`
directory to understand architecture and code patterns.
1. Explore the codebase to understand the relevant code paths and existing
patterns
2. Create an implementation plan — which files to change, what approach to take
3. Implement the fix or feature following existing codebase patterns
4. Keep changes minimal and focused on the ticket scope
## Phase 3: Verify
Run lint and type checks, then run the appropriate tests based on which packages
were modified:
1. Run `make ci-lint` to verify lint and TypeScript types pass
2. Run `make ci-unit` to verify unit tests pass across all packages
3. If any checks fail, fix the issues and re-run until everything passes
## Phase 4: Commit, Push, and Open PR
1. Create a new branch named `<current-user>/$ARGUMENTS-<short-description>`.
Use the current git/OS username when available, and use `whoami` as a
fallback to determine the prefix (e.g. `warren/HDX-1234-fix-search-filter`)
2. Commit the changes using conventional commit format (e.g. `feat:`, `fix:`,
`chore:`) and reference the ticket ID
3. Push the branch to the remote
4. Open a pull request with:
- Title: `[$ARGUMENTS] <description>`
- Body: Use `.github/pull_request_template.md` as the template and fill it in
with the relevant summary, testing notes, and Linear ticket link
- Label: Attach the `ai-generated` label
================================================
FILE: .opencode/commands/plan-linear.md
================================================
---
description: Research a Linear ticket and create an implementation plan
agent: plan
---
Look up the Linear ticket $ARGUMENTS. Read the ticket description and all
comments on the ticket thoroughly.
Based on your research of the ticket, come up with a detailed implementation
plan. The plan should include:
1. **Summary** — A concise summary of what the ticket is asking for
2. **Context** — Relevant information gathered from the ticket description and
comments
3. **Approach** — Step-by-step implementation plan with specific files and
components to modify
4. **Testing** — How the changes should be tested
5. **Open Questions** — Any ambiguities or decisions that need clarification
Before writing the plan, explore the codebase to understand the relevant code
paths and existing patterns. Reference specific files and line numbers where
changes will be needed.
================================================
FILE: .prettierignore
================================================
# Ignore artifacts:
dist
coverage
.volumes
================================================
FILE: .prettierrc
================================================
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"trailingComma": "all",
"bracketSpacing": true,
"jsxBracketSameLine": false,
"fluid": false,
"arrowParens": "avoid",
"proseWrap": "always"
}
================================================
FILE: .vex/openssl-mongodb.vex.json
================================================
{
"@context": "https://openvex.dev/ns/v0.2.0",
"@id": "https://github.com/hyperdxio/hyperdx/blob/main/.vex/openssl-mongodb.vex.json",
"author": "HyperDX Team",
"role": "Supplier",
"timestamp": "2026-02-17T00:00:00Z",
"version": 1,
"statements": [
{
"vulnerability": { "name": "CVE-2021-3711" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. OpenSSL certificate-parsing vulnerabilities are not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2021-3712" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. OpenSSL certificate-parsing vulnerabilities are not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2021-4044" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. OpenSSL vulnerabilities are not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2022-0778" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode. Certificate processing from untrusted sources does not occur, making this infinite-loop vulnerability unexploitable."
},
{
"vulnerability": { "name": "CVE-2022-1473" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This memory leak vulnerability is not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2022-3358" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode. Custom cipher usage from untrusted sources does not occur in this deployment."
},
{
"vulnerability": { "name": "CVE-2022-3602" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This buffer overflow vulnerability is not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2022-3786" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This buffer overflow vulnerability is not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2022-3996" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode. The double-locking issue is not triggerable via external input in this deployment."
},
{
"vulnerability": { "name": "CVE-2023-0286" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode. External GeneralName certificate parsing does not occur in this deployment."
},
{
"vulnerability": { "name": "CVE-2023-0464" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode. Untrusted X.509 certificate chains with policy constraints are not processed in this deployment."
},
{
"vulnerability": { "name": "CVE-2023-5363" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode. Untrusted key/IV inputs from external sources are not processed in this deployment."
},
{
"vulnerability": { "name": "CVE-2024-4741" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This use-after-free vulnerability is not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2024-5535" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode. The SSL_select_next_proto vulnerability requires attacker-controlled input not present in this deployment."
},
{
"vulnerability": { "name": "CVE-2024-6119" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode. OCSP responses from external sources are not processed in this deployment."
},
{
"vulnerability": { "name": "CVE-2025-9230" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This OpenSSL vulnerability is not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2025-15467" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This OpenSSL vulnerability is not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2025-69419" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This OpenSSL vulnerability is not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2025-69420" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This OpenSSL vulnerability is not exploitable in this deployment."
},
{
"vulnerability": { "name": "CVE-2025-69421" },
"products": [{ "@id": "pkg:oci/clickstack" }],
"status": "not_affected",
"justification": "inline_mitigations_already_exist",
"impact_statement": "MongoDB is deployed in localhost-only mode and does not process external TLS certificates. This OpenSSL vulnerability is not exploitable in this deployment."
}
]
}
================================================
FILE: .vscode/extensions.json
================================================
{
"recommendations": [
"vunguyentuan.vscode-css-variables",
"clinyong.vscode-css-modules",
"streetsidesoftware.code-spell-checker",
"dbaeumer.vscode-eslint",
"stylelint.vscode-stylelint",
"esbenp.prettier-vscode"
]
}
================================================
FILE: .vscode/settings.json
================================================
{
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.detectIndentation": false,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always",
"source.fixAll.stylelint": "always"
},
"eslint.useFlatConfig": true,
"[typescript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[typescriptreact]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[scss]": {
"editor.defaultFormatter": "stylelint.vscode-stylelint"
},
"[css]": {
"editor.defaultFormatter": "stylelint.vscode-stylelint"
},
"eslint.workingDirectories": [
{
"mode": "auto"
}
],
"stylelint.validate": ["css", "postcss", "scss"],
"cssVariables.lookupFiles": [
"**/*.css",
"**/*.scss",
"**/*.sass",
"**/*.less",
"node_modules/@mantine/core/styles.css"
],
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/.next": true,
"**/*.code-search": true,
"**/*.map": true,
"**/yarn.lock": true,
"**/yarn-*.cjs": true
},
"cSpell.words": [
"clickhouse",
"hyperdx",
"micropip",
"opamp",
"pyimport",
"pyodide"
]
}
================================================
FILE: .yarn/releases/yarn-1.22.18.cjs
================================================
#!/usr/bin/env node
module.exports = /******/ (function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if (installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/
}
/******/ // Create a new module (and put it into the cache)
/******/ var module = (installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {},
/******/
});
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(
module.exports,
module,
module.exports,
__webpack_require__,
);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/
}
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // identity function for calling harmony imports with the correct context
/******/ __webpack_require__.i = function (value) {
return value;
};
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function (exports, name, getter) {
/******/ if (!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter,
/******/
});
/******/
}
/******/
};
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function (module) {
/******/ var getter =
module && module.__esModule
? /******/ function getDefault() {
return module['default'];
}
: /******/ function getModuleExports() {
return module;
};
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/
};
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function (object, property) {
return Object.prototype.hasOwnProperty.call(object, property);
};
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = '';
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__((__webpack_require__.s = 517));
/******/
})(
/************************************************************************/
/******/ [
/* 0 */
/***/ function (module, exports) {
module.exports = require('path');
/***/
},
/* 1 */
/***/ function (module, __webpack_exports__, __webpack_require__) {
'use strict';
/* harmony export (immutable) */ __webpack_exports__['a'] = __extends;
/* unused harmony export __assign */
/* unused harmony export __rest */
/* unused harmony export __decorate */
/* unused harmony export __param */
/* unused harmony export __metadata */
/* unused harmony export __awaiter */
/* unused harmony export __generator */
/* unused harmony export __exportStar */
/* unused harmony export __values */
/* unused harmony export __read */
/* unused harmony export __spread */
/* unused harmony export __await */
/* unused harmony export __asyncGenerator */
/* unused harmony export __asyncDelegator */
/* unused harmony export __asyncValues */
/* unused harmony export __makeTemplateObject */
/* unused harmony export __importStar */
/* unused harmony export __importDefault */
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function (d, b) {
extendStatics =
Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array &&
function (d, b) {
d.__proto__ = b;
}) ||
function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
};
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() {
this.constructor = d;
}
d.prototype =
b === null
? Object.create(b)
: ((__.prototype = b.prototype), new __());
}
var __assign = function () {
__assign =
Object.assign ||
function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
function __rest(s, e) {
var t = {};
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === 'function')
for (
var i = 0, p = Object.getOwnPropertySymbols(s);
i < p.length;
i++
)
if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
return t;
}
function __decorate(decorators, target, key, desc) {
var c = arguments.length,
r =
c < 3
? target
: desc === null
? (desc = Object.getOwnPropertyDescriptor(target, key))
: desc,
d;
if (
typeof Reflect === 'object' &&
typeof Reflect.decorate === 'function'
)
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)
if ((d = decorators[i]))
r =
(c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) ||
r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
}
function __param(paramIndex, decorator) {
return function (target, key) {
decorator(target, key, paramIndex);
};
}
function __metadata(metadataKey, metadataValue) {
if (
typeof Reflect === 'object' &&
typeof Reflect.metadata === 'function'
)
return Reflect.metadata(metadataKey, metadataValue);
}
function __awaiter(thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator['throw'](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done
? resolve(result.value)
: new P(function (resolve) {
resolve(result.value);
}).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = {
label: 0,
sent: function () {
if (t[0] & 1) throw t[1];
return t[1];
},
trys: [],
ops: [],
},
f,
y,
t,
g;
return (
(g = { next: verb(0), throw: verb(1), return: verb(2) }),
typeof Symbol === 'function' &&
(g[Symbol.iterator] = function () {
return this;
}),
g
);
function verb(n) {
return function (v) {
return step([n, v]);
};
}
function step(op) {
if (f) throw new TypeError('Generator is already executing.');
while (_)
try {
if (
((f = 1),
y &&
(t =
op[0] & 2
? y['return']
: op[0]
? y['throw'] || ((t = y['return']) && t.call(y), 0)
: y.next) &&
!(t = t.call(y, op[1])).done)
)
return t;
if (((y = 0), t)) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return { value: op[1], done: false };
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (
!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) &&
(op[0] === 6 || op[0] === 2)
) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2]) _.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [6, e];
y = 0;
} finally {
f = t = 0;
}
if (op[0] & 5) throw op[1];
return { value: op[0] ? op[1] : void 0, done: true };
}
}
function __exportStar(m, exports) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
function __values(o) {
var m = typeof Symbol === 'function' && o[Symbol.iterator],
i = 0;
if (m) return m.call(o);
return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
},
};
}
function __read(o, n) {
var m = typeof Symbol === 'function' && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
ar.push(r.value);
} catch (error) {
e = { error: error };
} finally {
try {
if (r && !r.done && (m = i['return'])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function __await(v) {
return this instanceof __await ? ((this.v = v), this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator)
throw new TypeError('Symbol.asyncIterator is not defined.');
var g = generator.apply(thisArg, _arguments || []),
i,
q = [];
return (
(i = {}),
verb('next'),
verb('throw'),
verb('return'),
(i[Symbol.asyncIterator] = function () {
return this;
}),
i
);
function verb(n) {
if (g[n])
i[n] = function (v) {
return new Promise(function (a, b) {
q.push([n, v, a, b]) > 1 || resume(n, v);
});
};
}
function resume(n, v) {
try {
step(g[n](v));
} catch (e) {
settle(q[0][3], e);
}
}
function step(r) {
r.value instanceof __await
? Promise.resolve(r.value.v).then(fulfill, reject)
: settle(q[0][2], r);
}
function fulfill(value) {
resume('next', value);
}
function reject(value) {
resume('throw', value);
}
function settle(f, v) {
if ((f(v), q.shift(), q.length)) resume(q[0][0], q[0][1]);
}
}
function __asyncDelegator(o) {
var i, p;
return (
(i = {}),
verb('next'),
verb('throw', function (e) {
throw e;
}),
verb('return'),
(i[Symbol.iterator] = function () {
return this;
}),
i
);
function verb(n, f) {
i[n] = o[n]
? function (v) {
return (p = !p)
? { value: __await(o[n](v)), done: n === 'return' }
: f
? f(v)
: v;
}
: f;
}
}
function __asyncValues(o) {
if (!Symbol.asyncIterator)
throw new TypeError('Symbol.asyncIterator is not defined.');
var m = o[Symbol.asyncIterator],
i;
return m
? m.call(o)
: ((o =
typeof __values === 'function'
? __values(o)
: o[Symbol.iterator]()),
(i = {}),
verb('next'),
verb('throw'),
verb('return'),
(i[Symbol.asyncIterator] = function () {
return this;
}),
i);
function verb(n) {
i[n] =
o[n] &&
function (v) {
return new Promise(function (resolve, reject) {
(v = o[n](v)), settle(resolve, reject, v.done, v.value);
});
};
}
function settle(resolve, reject, d, v) {
Promise.resolve(v).then(function (v) {
resolve({ value: v, done: d });
}, reject);
}
}
function __makeTemplateObject(cooked, raw) {
if (Object.defineProperty) {
Object.defineProperty(cooked, 'raw', { value: raw });
} else {
cooked.raw = raw;
}
return cooked;
}
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null)
for (var k in mod)
if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result.default = mod;
return result;
}
function __importDefault(mod) {
return mod && mod.__esModule ? mod : { default: mod };
}
/***/
},
/* 2 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
exports.__esModule = true;
var _promise = __webpack_require__(224);
var _promise2 = _interopRequireDefault(_promise);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
exports.default = function (fn) {
return function () {
var gen = fn.apply(this, arguments);
return new _promise2.default(function (resolve, reject) {
function step(key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
return _promise2.default.resolve(value).then(
function (value) {
step('next', value);
},
function (err) {
step('throw', err);
},
);
}
}
return step('next');
});
};
};
/***/
},
/* 3 */
/***/ function (module, exports) {
module.exports = require('util');
/***/
},
/* 4 */
/***/ function (module, exports) {
module.exports = require('fs');
/***/
},
/* 5 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true,
});
exports.getFirstSuitableFolder =
exports.readFirstAvailableStream =
exports.makeTempDir =
exports.hardlinksWork =
exports.writeFilePreservingEol =
exports.getFileSizeOnDisk =
exports.walk =
exports.symlink =
exports.find =
exports.readJsonAndFile =
exports.readJson =
exports.readFileAny =
exports.hardlinkBulk =
exports.copyBulk =
exports.unlink =
exports.glob =
exports.link =
exports.chmod =
exports.lstat =
exports.exists =
exports.mkdirp =
exports.stat =
exports.access =
exports.rename =
exports.readdir =
exports.realpath =
exports.readlink =
exports.writeFile =
exports.open =
exports.readFileBuffer =
exports.lockQueue =
exports.constants =
undefined;
var _asyncToGenerator2;
function _load_asyncToGenerator() {
return (_asyncToGenerator2 = _interopRequireDefault(
__webpack_require__(2),
));
}
let buildActionsForCopy = (() => {
var _ref = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
queue,
events,
possibleExtraneous,
reporter,
) {
//
let build = (() => {
var _ref5 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(
function* (data) {
const src = data.src,
dest = data.dest,
type = data.type;
const onFresh = data.onFresh || noop;
const onDone = data.onDone || noop;
// TODO https://github.com/yarnpkg/yarn/issues/3751
// related to bundled dependencies handling
if (files.has(dest.toLowerCase())) {
reporter.verbose(
`The case-insensitive file ${dest} shouldn't be copied twice in one bulk copy`,
);
} else {
files.add(dest.toLowerCase());
}
if (type === 'symlink') {
yield mkdirp((_path || _load_path()).default.dirname(dest));
onFresh();
actions.symlink.push({
dest,
linkname: src,
});
onDone();
return;
}
if (
events.ignoreBasenames.indexOf(
(_path || _load_path()).default.basename(src),
) >= 0
) {
// ignored file
return;
}
const srcStat = yield lstat(src);
let srcFiles;
if (srcStat.isDirectory()) {
srcFiles = yield readdir(src);
}
let destStat;
try {
// try accessing the destination
destStat = yield lstat(dest);
} catch (e) {
// proceed if destination doesn't exist, otherwise error
if (e.code !== 'ENOENT') {
throw e;
}
}
// if destination exists
if (destStat) {
const bothSymlinks =
srcStat.isSymbolicLink() && destStat.isSymbolicLink();
const bothFolders =
srcStat.isDirectory() && destStat.isDirectory();
const bothFiles = srcStat.isFile() && destStat.isFile();
// EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving
// us modes that aren't valid. investigate this, it's generally safe to proceed.
/* if (srcStat.mode !== destStat.mode) {
try {
await access(dest, srcStat.mode);
} catch (err) {}
} */
if (bothFiles && artifactFiles.has(dest)) {
// this file gets changed during build, likely by a custom install script. Don't bother checking it.
onDone();
reporter.verbose(
reporter.lang('verboseFileSkipArtifact', src),
);
return;
}
if (
bothFiles &&
srcStat.size === destStat.size &&
(0, (_fsNormalized || _load_fsNormalized()).fileDatesEqual)(
srcStat.mtime,
destStat.mtime,
)
) {
// we can safely assume this is the same file
onDone();
reporter.verbose(
reporter.lang(
'verboseFileSkip',
src,
dest,
srcStat.size,
+srcStat.mtime,
),
);
return;
}
if (bothSymlinks) {
const srcReallink = yield readlink(src);
if (srcReallink === (yield readlink(dest))) {
// if both symlinks are the same then we can continue on
onDone();
reporter.verbose(
reporter.lang(
'verboseFileSkipSymlink',
src,
dest,
srcReallink,
),
);
return;
}
}
if (bothFolders) {
// mark files that aren't in this folder as possibly extraneous
const destFiles = yield readdir(dest);
invariant(srcFiles, 'src files not initialised');
for (
var _iterator4 = destFiles,
_isArray4 = Array.isArray(_iterator4),
_i4 = 0,
_iterator4 = _isArray4
? _iterator4
: _iterator4[Symbol.iterator]();
;
) {
var _ref6;
if (_isArray4) {
if (_i4 >= _iterator4.length) break;
_ref6 = _iterator4[_i4++];
} else {
_i4 = _iterator4.next();
if (_i4.done) break;
_ref6 = _i4.value;
}
const file = _ref6;
if (srcFiles.indexOf(file) < 0) {
const loc = (_path || _load_path()).default.join(
dest,
file,
);
possibleExtraneous.add(loc);
if ((yield lstat(loc)).isDirectory()) {
for (
var _iterator5 = yield readdir(loc),
_isArray5 = Array.isArray(_iterator5),
_i5 = 0,
_iterator5 = _isArray5
? _iterator5
: _iterator5[Symbol.iterator]();
;
) {
var _ref7;
if (_isArray5) {
if (_i5 >= _iterator5.length) break;
_ref7 = _iterator5[_i5++];
} else {
_i5 = _iterator5.next();
if (_i5.done) break;
_ref7 = _i5.value;
}
const file = _ref7;
possibleExtraneous.add(
(_path || _load_path()).default.join(loc, file),
);
}
}
}
}
}
}
if (destStat && destStat.isSymbolicLink()) {
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(
dest,
);
destStat = null;
}
if (srcStat.isSymbolicLink()) {
onFresh();
const linkname = yield readlink(src);
actions.symlink.push({
dest,
linkname,
});
onDone();
} else if (srcStat.isDirectory()) {
if (!destStat) {
reporter.verbose(reporter.lang('verboseFileFolder', dest));
yield mkdirp(dest);
}
const destParts = dest.split(
(_path || _load_path()).default.sep,
);
while (destParts.length) {
files.add(
destParts
.join((_path || _load_path()).default.sep)
.toLowerCase(),
);
destParts.pop();
}
// push all files to queue
invariant(srcFiles, 'src files not initialised');
let remaining = srcFiles.length;
if (!remaining) {
onDone();
}
for (
var _iterator6 = srcFiles,
_isArray6 = Array.isArray(_iterator6),
_i6 = 0,
_iterator6 = _isArray6
? _iterator6
: _iterator6[Symbol.iterator]();
;
) {
var _ref8;
if (_isArray6) {
if (_i6 >= _iterator6.length) break;
_ref8 = _iterator6[_i6++];
} else {
_i6 = _iterator6.next();
if (_i6.done) break;
_ref8 = _i6.value;
}
const file = _ref8;
queue.push({
dest: (_path || _load_path()).default.join(dest, file),
onFresh,
onDone: (function (_onDone) {
function onDone() {
return _onDone.apply(this, arguments);
}
onDone.toString = function () {
return _onDone.toString();
};
return onDone;
})(function () {
if (--remaining === 0) {
onDone();
}
}),
src: (_path || _load_path()).default.join(src, file),
});
}
} else if (srcStat.isFile()) {
onFresh();
actions.file.push({
src,
dest,
atime: srcStat.atime,
mtime: srcStat.mtime,
mode: srcStat.mode,
});
onDone();
} else {
throw new Error(`unsure how to copy this: ${src}`);
}
},
);
return function build(_x5) {
return _ref5.apply(this, arguments);
};
})();
const artifactFiles = new Set(events.artifactFiles || []);
const files = new Set();
// initialise events
for (
var _iterator = queue,
_isArray = Array.isArray(_iterator),
_i = 0,
_iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();
;
) {
var _ref2;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref2 = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref2 = _i.value;
}
const item = _ref2;
const onDone = item.onDone;
item.onDone = function () {
events.onProgress(item.dest);
if (onDone) {
onDone();
}
};
}
events.onStart(queue.length);
// start building actions
const actions = {
file: [],
symlink: [],
link: [],
};
// custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items
// at a time due to the requirement to push items onto the queue
while (queue.length) {
const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS);
yield Promise.all(items.map(build));
}
// simulate the existence of some files to prevent considering them extraneous
for (
var _iterator2 = artifactFiles,
_isArray2 = Array.isArray(_iterator2),
_i2 = 0,
_iterator2 = _isArray2
? _iterator2
: _iterator2[Symbol.iterator]();
;
) {
var _ref3;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref3 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref3 = _i2.value;
}
const file = _ref3;
if (possibleExtraneous.has(file)) {
reporter.verbose(
reporter.lang('verboseFilePhantomExtraneous', file),
);
possibleExtraneous.delete(file);
}
}
for (
var _iterator3 = possibleExtraneous,
_isArray3 = Array.isArray(_iterator3),
_i3 = 0,
_iterator3 = _isArray3
? _iterator3
: _iterator3[Symbol.iterator]();
;
) {
var _ref4;
if (_isArray3) {
if (_i3 >= _iterator3.length) break;
_ref4 = _iterator3[_i3++];
} else {
_i3 = _iterator3.next();
if (_i3.done) break;
_ref4 = _i3.value;
}
const loc = _ref4;
if (files.has(loc.toLowerCase())) {
possibleExtraneous.delete(loc);
}
}
return actions;
});
return function buildActionsForCopy(_x, _x2, _x3, _x4) {
return _ref.apply(this, arguments);
};
})();
let buildActionsForHardlink = (() => {
var _ref9 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
queue,
events,
possibleExtraneous,
reporter,
) {
//
let build = (() => {
var _ref13 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(
function* (data) {
const src = data.src,
dest = data.dest;
const onFresh = data.onFresh || noop;
const onDone = data.onDone || noop;
if (files.has(dest.toLowerCase())) {
// Fixes issue https://github.com/yarnpkg/yarn/issues/2734
// When bulk hardlinking we have A -> B structure that we want to hardlink to A1 -> B1,
// package-linker passes that modules A1 and B1 need to be hardlinked,
// the recursive linking algorithm of A1 ends up scheduling files in B1 to be linked twice which will case
// an exception.
onDone();
return;
}
files.add(dest.toLowerCase());
if (
events.ignoreBasenames.indexOf(
(_path || _load_path()).default.basename(src),
) >= 0
) {
// ignored file
return;
}
const srcStat = yield lstat(src);
let srcFiles;
if (srcStat.isDirectory()) {
srcFiles = yield readdir(src);
}
const destExists = yield exists(dest);
if (destExists) {
const destStat = yield lstat(dest);
const bothSymlinks =
srcStat.isSymbolicLink() && destStat.isSymbolicLink();
const bothFolders =
srcStat.isDirectory() && destStat.isDirectory();
const bothFiles = srcStat.isFile() && destStat.isFile();
if (srcStat.mode !== destStat.mode) {
try {
yield access(dest, srcStat.mode);
} catch (err) {
// EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving
// us modes that aren't valid. investigate this, it's generally safe to proceed.
reporter.verbose(err);
}
}
if (bothFiles && artifactFiles.has(dest)) {
// this file gets changed during build, likely by a custom install script. Don't bother checking it.
onDone();
reporter.verbose(
reporter.lang('verboseFileSkipArtifact', src),
);
return;
}
// correct hardlink
if (
bothFiles &&
srcStat.ino !== null &&
srcStat.ino === destStat.ino
) {
onDone();
reporter.verbose(
reporter.lang('verboseFileSkip', src, dest, srcStat.ino),
);
return;
}
if (bothSymlinks) {
const srcReallink = yield readlink(src);
if (srcReallink === (yield readlink(dest))) {
// if both symlinks are the same then we can continue on
onDone();
reporter.verbose(
reporter.lang(
'verboseFileSkipSymlink',
src,
dest,
srcReallink,
),
);
return;
}
}
if (bothFolders) {
// mark files that aren't in this folder as possibly extraneous
const destFiles = yield readdir(dest);
invariant(srcFiles, 'src files not initialised');
for (
var _iterator10 = destFiles,
_isArray10 = Array.isArray(_iterator10),
_i10 = 0,
_iterator10 = _isArray10
? _iterator10
: _iterator10[Symbol.iterator]();
;
) {
var _ref14;
if (_isArray10) {
if (_i10 >= _iterator10.length) break;
_ref14 = _iterator10[_i10++];
} else {
_i10 = _iterator10.next();
if (_i10.done) break;
_ref14 = _i10.value;
}
const file = _ref14;
if (srcFiles.indexOf(file) < 0) {
const loc = (_path || _load_path()).default.join(
dest,
file,
);
possibleExtraneous.add(loc);
if ((yield lstat(loc)).isDirectory()) {
for (
var _iterator11 = yield readdir(loc),
_isArray11 = Array.isArray(_iterator11),
_i11 = 0,
_iterator11 = _isArray11
? _iterator11
: _iterator11[Symbol.iterator]();
;
) {
var _ref15;
if (_isArray11) {
if (_i11 >= _iterator11.length) break;
_ref15 = _iterator11[_i11++];
} else {
_i11 = _iterator11.next();
if (_i11.done) break;
_ref15 = _i11.value;
}
const file = _ref15;
possibleExtraneous.add(
(_path || _load_path()).default.join(loc, file),
);
}
}
}
}
}
}
if (srcStat.isSymbolicLink()) {
onFresh();
const linkname = yield readlink(src);
actions.symlink.push({
dest,
linkname,
});
onDone();
} else if (srcStat.isDirectory()) {
reporter.verbose(reporter.lang('verboseFileFolder', dest));
yield mkdirp(dest);
const destParts = dest.split(
(_path || _load_path()).default.sep,
);
while (destParts.length) {
files.add(
destParts
.join((_path || _load_path()).default.sep)
.toLowerCase(),
);
destParts.pop();
}
// push all files to queue
invariant(srcFiles, 'src files not initialised');
let remaining = srcFiles.length;
if (!remaining) {
onDone();
}
for (
var _iterator12 = srcFiles,
_isArray12 = Array.isArray(_iterator12),
_i12 = 0,
_iterator12 = _isArray12
? _iterator12
: _iterator12[Symbol.iterator]();
;
) {
var _ref16;
if (_isArray12) {
if (_i12 >= _iterator12.length) break;
_ref16 = _iterator12[_i12++];
} else {
_i12 = _iterator12.next();
if (_i12.done) break;
_ref16 = _i12.value;
}
const file = _ref16;
queue.push({
onFresh,
src: (_path || _load_path()).default.join(src, file),
dest: (_path || _load_path()).default.join(dest, file),
onDone: (function (_onDone2) {
function onDone() {
return _onDone2.apply(this, arguments);
}
onDone.toString = function () {
return _onDone2.toString();
};
return onDone;
})(function () {
if (--remaining === 0) {
onDone();
}
}),
});
}
} else if (srcStat.isFile()) {
onFresh();
actions.link.push({
src,
dest,
removeDest: destExists,
});
onDone();
} else {
throw new Error(`unsure how to copy this: ${src}`);
}
},
);
return function build(_x10) {
return _ref13.apply(this, arguments);
};
})();
const artifactFiles = new Set(events.artifactFiles || []);
const files = new Set();
// initialise events
for (
var _iterator7 = queue,
_isArray7 = Array.isArray(_iterator7),
_i7 = 0,
_iterator7 = _isArray7
? _iterator7
: _iterator7[Symbol.iterator]();
;
) {
var _ref10;
if (_isArray7) {
if (_i7 >= _iterator7.length) break;
_ref10 = _iterator7[_i7++];
} else {
_i7 = _iterator7.next();
if (_i7.done) break;
_ref10 = _i7.value;
}
const item = _ref10;
const onDone = item.onDone || noop;
item.onDone = function () {
events.onProgress(item.dest);
onDone();
};
}
events.onStart(queue.length);
// start building actions
const actions = {
file: [],
symlink: [],
link: [],
};
// custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items
// at a time due to the requirement to push items onto the queue
while (queue.length) {
const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS);
yield Promise.all(items.map(build));
}
// simulate the existence of some files to prevent considering them extraneous
for (
var _iterator8 = artifactFiles,
_isArray8 = Array.isArray(_iterator8),
_i8 = 0,
_iterator8 = _isArray8
? _iterator8
: _iterator8[Symbol.iterator]();
;
) {
var _ref11;
if (_isArray8) {
if (_i8 >= _iterator8.length) break;
_ref11 = _iterator8[_i8++];
} else {
_i8 = _iterator8.next();
if (_i8.done) break;
_ref11 = _i8.value;
}
const file = _ref11;
if (possibleExtraneous.has(file)) {
reporter.verbose(
reporter.lang('verboseFilePhantomExtraneous', file),
);
possibleExtraneous.delete(file);
}
}
for (
var _iterator9 = possibleExtraneous,
_isArray9 = Array.isArray(_iterator9),
_i9 = 0,
_iterator9 = _isArray9
? _iterator9
: _iterator9[Symbol.iterator]();
;
) {
var _ref12;
if (_isArray9) {
if (_i9 >= _iterator9.length) break;
_ref12 = _iterator9[_i9++];
} else {
_i9 = _iterator9.next();
if (_i9.done) break;
_ref12 = _i9.value;
}
const loc = _ref12;
if (files.has(loc.toLowerCase())) {
possibleExtraneous.delete(loc);
}
}
return actions;
});
return function buildActionsForHardlink(_x6, _x7, _x8, _x9) {
return _ref9.apply(this, arguments);
};
})();
let copyBulk = (exports.copyBulk = (() => {
var _ref17 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
queue,
reporter,
_events,
) {
const events = {
onStart: (_events && _events.onStart) || noop,
onProgress: (_events && _events.onProgress) || noop,
possibleExtraneous: _events
? _events.possibleExtraneous
: new Set(),
ignoreBasenames: (_events && _events.ignoreBasenames) || [],
artifactFiles: (_events && _events.artifactFiles) || [],
};
const actions = yield buildActionsForCopy(
queue,
events,
events.possibleExtraneous,
reporter,
);
events.onStart(
actions.file.length + actions.symlink.length + actions.link.length,
);
const fileActions = actions.file;
const currentlyWriting = new Map();
yield (_promise || _load_promise()).queue(
fileActions,
(() => {
var _ref18 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(
function* (data) {
let writePromise;
while ((writePromise = currentlyWriting.get(data.dest))) {
yield writePromise;
}
reporter.verbose(
reporter.lang('verboseFileCopy', data.src, data.dest),
);
const copier = (0,
(_fsNormalized || _load_fsNormalized()).copyFile)(
data,
function () {
return currentlyWriting.delete(data.dest);
},
);
currentlyWriting.set(data.dest, copier);
events.onProgress(data.dest);
return copier;
},
);
return function (_x14) {
return _ref18.apply(this, arguments);
};
})(),
CONCURRENT_QUEUE_ITEMS,
);
// we need to copy symlinks last as they could reference files we were copying
const symlinkActions = actions.symlink;
yield (_promise || _load_promise()).queue(
symlinkActions,
function (data) {
const linkname = (_path || _load_path()).default.resolve(
(_path || _load_path()).default.dirname(data.dest),
data.linkname,
);
reporter.verbose(
reporter.lang('verboseFileSymlink', data.dest, linkname),
);
return symlink(linkname, data.dest);
},
);
});
return function copyBulk(_x11, _x12, _x13) {
return _ref17.apply(this, arguments);
};
})());
let hardlinkBulk = (exports.hardlinkBulk = (() => {
var _ref19 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
queue,
reporter,
_events,
) {
const events = {
onStart: (_events && _events.onStart) || noop,
onProgress: (_events && _events.onProgress) || noop,
possibleExtraneous: _events
? _events.possibleExtraneous
: new Set(),
artifactFiles: (_events && _events.artifactFiles) || [],
ignoreBasenames: [],
};
const actions = yield buildActionsForHardlink(
queue,
events,
events.possibleExtraneous,
reporter,
);
events.onStart(
actions.file.length + actions.symlink.length + actions.link.length,
);
const fileActions = actions.link;
yield (_promise || _load_promise()).queue(
fileActions,
(() => {
var _ref20 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(
function* (data) {
reporter.verbose(
reporter.lang('verboseFileLink', data.src, data.dest),
);
if (data.removeDest) {
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(
data.dest,
);
}
yield link(data.src, data.dest);
},
);
return function (_x18) {
return _ref20.apply(this, arguments);
};
})(),
CONCURRENT_QUEUE_ITEMS,
);
// we need to copy symlinks last as they could reference files we were copying
const symlinkActions = actions.symlink;
yield (_promise || _load_promise()).queue(
symlinkActions,
function (data) {
const linkname = (_path || _load_path()).default.resolve(
(_path || _load_path()).default.dirname(data.dest),
data.linkname,
);
reporter.verbose(
reporter.lang('verboseFileSymlink', data.dest, linkname),
);
return symlink(linkname, data.dest);
},
);
});
return function hardlinkBulk(_x15, _x16, _x17) {
return _ref19.apply(this, arguments);
};
})());
let readFileAny = (exports.readFileAny = (() => {
var _ref21 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
files,
) {
for (
var _iterator13 = files,
_isArray13 = Array.isArray(_iterator13),
_i13 = 0,
_iterator13 = _isArray13
? _iterator13
: _iterator13[Symbol.iterator]();
;
) {
var _ref22;
if (_isArray13) {
if (_i13 >= _iterator13.length) break;
_ref22 = _iterator13[_i13++];
} else {
_i13 = _iterator13.next();
if (_i13.done) break;
_ref22 = _i13.value;
}
const file = _ref22;
if (yield exists(file)) {
return readFile(file);
}
}
return null;
});
return function readFileAny(_x19) {
return _ref21.apply(this, arguments);
};
})());
let readJson = (exports.readJson = (() => {
var _ref23 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
loc,
) {
return (yield readJsonAndFile(loc)).object;
});
return function readJson(_x20) {
return _ref23.apply(this, arguments);
};
})());
let readJsonAndFile = (exports.readJsonAndFile = (() => {
var _ref24 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
loc,
) {
const file = yield readFile(loc);
try {
return {
object: (0, (_map || _load_map()).default)(
JSON.parse(stripBOM(file)),
),
content: file,
};
} catch (err) {
err.message = `${loc}: ${err.message}`;
throw err;
}
});
return function readJsonAndFile(_x21) {
return _ref24.apply(this, arguments);
};
})());
let find = (exports.find = (() => {
var _ref25 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
filename,
dir,
) {
const parts = dir.split((_path || _load_path()).default.sep);
while (parts.length) {
const loc = parts
.concat(filename)
.join((_path || _load_path()).default.sep);
if (yield exists(loc)) {
return loc;
} else {
parts.pop();
}
}
return false;
});
return function find(_x22, _x23) {
return _ref25.apply(this, arguments);
};
})());
let symlink = (exports.symlink = (() => {
var _ref26 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
src,
dest,
) {
if (process.platform !== 'win32') {
// use relative paths otherwise which will be retained if the directory is moved
src = (_path || _load_path()).default.relative(
(_path || _load_path()).default.dirname(dest),
src,
);
// When path.relative returns an empty string for the current directory, we should instead use
// '.', which is a valid fs.symlink target.
src = src || '.';
}
try {
const stats = yield lstat(dest);
if (stats.isSymbolicLink()) {
const resolved = dest;
if (resolved === src) {
return;
}
}
} catch (err) {
if (err.code !== 'ENOENT') {
throw err;
}
}
// We use rimraf for unlink which never throws an ENOENT on missing target
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest);
if (process.platform === 'win32') {
// use directory junctions if possible on win32, this requires absolute paths
yield fsSymlink(src, dest, 'junction');
} else {
yield fsSymlink(src, dest);
}
});
return function symlink(_x24, _x25) {
return _ref26.apply(this, arguments);
};
})());
let walk = (exports.walk = (() => {
var _ref27 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
dir,
relativeDir,
ignoreBasenames = new Set(),
) {
let files = [];
let filenames = yield readdir(dir);
if (ignoreBasenames.size) {
filenames = filenames.filter(function (name) {
return !ignoreBasenames.has(name);
});
}
for (
var _iterator14 = filenames,
_isArray14 = Array.isArray(_iterator14),
_i14 = 0,
_iterator14 = _isArray14
? _iterator14
: _iterator14[Symbol.iterator]();
;
) {
var _ref28;
if (_isArray14) {
if (_i14 >= _iterator14.length) break;
_ref28 = _iterator14[_i14++];
} else {
_i14 = _iterator14.next();
if (_i14.done) break;
_ref28 = _i14.value;
}
const name = _ref28;
const relative = relativeDir
? (_path || _load_path()).default.join(relativeDir, name)
: name;
const loc = (_path || _load_path()).default.join(dir, name);
const stat = yield lstat(loc);
files.push({
relative,
basename: name,
absolute: loc,
mtime: +stat.mtime,
});
if (stat.isDirectory()) {
files = files.concat(yield walk(loc, relative, ignoreBasenames));
}
}
return files;
});
return function walk(_x26, _x27) {
return _ref27.apply(this, arguments);
};
})());
let getFileSizeOnDisk = (exports.getFileSizeOnDisk = (() => {
var _ref29 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
loc,
) {
const stat = yield lstat(loc);
const size = stat.size,
blockSize = stat.blksize;
return Math.ceil(size / blockSize) * blockSize;
});
return function getFileSizeOnDisk(_x28) {
return _ref29.apply(this, arguments);
};
})());
let getEolFromFile = (() => {
var _ref30 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
path,
) {
if (!(yield exists(path))) {
return undefined;
}
const buffer = yield readFileBuffer(path);
for (let i = 0; i < buffer.length; ++i) {
if (buffer[i] === cr) {
return '\r\n';
}
if (buffer[i] === lf) {
return '\n';
}
}
return undefined;
});
return function getEolFromFile(_x29) {
return _ref30.apply(this, arguments);
};
})();
let writeFilePreservingEol = (exports.writeFilePreservingEol = (() => {
var _ref31 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
path,
data,
) {
const eol =
(yield getEolFromFile(path)) || (_os || _load_os()).default.EOL;
if (eol !== '\n') {
data = data.replace(/\n/g, eol);
}
yield writeFile(path, data);
});
return function writeFilePreservingEol(_x30, _x31) {
return _ref31.apply(this, arguments);
};
})());
let hardlinksWork = (exports.hardlinksWork = (() => {
var _ref32 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
dir,
) {
const filename = 'test-file' + Math.random();
const file = (_path || _load_path()).default.join(dir, filename);
const fileLink = (_path || _load_path()).default.join(
dir,
filename + '-link',
);
try {
yield writeFile(file, 'test');
yield link(file, fileLink);
} catch (err) {
return false;
} finally {
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(file);
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(fileLink);
}
return true;
});
return function hardlinksWork(_x32) {
return _ref32.apply(this, arguments);
};
})());
// not a strict polyfill for Node's fs.mkdtemp
let makeTempDir = (exports.makeTempDir = (() => {
var _ref33 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
prefix,
) {
const dir = (_path || _load_path()).default.join(
(_os || _load_os()).default.tmpdir(),
`yarn-${prefix || ''}-${Date.now()}-${Math.random()}`,
);
yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dir);
yield mkdirp(dir);
return dir;
});
return function makeTempDir(_x33) {
return _ref33.apply(this, arguments);
};
})());
let readFirstAvailableStream = (exports.readFirstAvailableStream =
(() => {
var _ref34 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
paths,
) {
for (
var _iterator15 = paths,
_isArray15 = Array.isArray(_iterator15),
_i15 = 0,
_iterator15 = _isArray15
? _iterator15
: _iterator15[Symbol.iterator]();
;
) {
var _ref35;
if (_isArray15) {
if (_i15 >= _iterator15.length) break;
_ref35 = _iterator15[_i15++];
} else {
_i15 = _iterator15.next();
if (_i15.done) break;
_ref35 = _i15.value;
}
const path = _ref35;
try {
const fd = yield open(path, 'r');
return (_fs || _load_fs()).default.createReadStream(path, {
fd,
});
} catch (err) {
// Try the next one
}
}
return null;
});
return function readFirstAvailableStream(_x34) {
return _ref34.apply(this, arguments);
};
})());
let getFirstSuitableFolder = (exports.getFirstSuitableFolder = (() => {
var _ref36 = (0,
(_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (
paths,
mode = constants.W_OK | constants.X_OK,
) {
const result = {
skipped: [],
folder: null,
};
for (
var _iterator16 = paths,
_isArray16 = Array.isArray(_iterator16),
_i16 = 0,
_iterator16 = _isArray16
? _iterator16
: _iterator16[Symbol.iterator]();
;
) {
var _ref37;
if (_isArray16) {
if (_i16 >= _iterator16.length) break;
_ref37 = _iterator16[_i16++];
} else {
_i16 = _iterator16.next();
if (_i16.done) break;
_ref37 = _i16.value;
}
const folder = _ref37;
try {
yield mkdirp(folder);
yield access(folder, mode);
result.folder = folder;
return result;
} catch (error) {
result.skipped.push({
error,
folder,
});
}
}
return result;
});
return function getFirstSuitableFolder(_x35) {
return _ref36.apply(this, arguments);
};
})());
exports.copy = copy;
exports.readFile = readFile;
exports.readFileRaw = readFileRaw;
exports.normalizeOS = normalizeOS;
var _fs;
function _load_fs() {
return (_fs = _interopRequireDefault(__webpack_require__(4)));
}
var _glob;
function _load_glob() {
return (_glob = _interopRequireDefault(__webpack_require__(99)));
}
var _os;
function _load_os() {
return (_os = _interopRequireDefault(__webpack_require__(46)));
}
var _path;
function _load_path() {
return (_path = _interopRequireDefault(__webpack_require__(0)));
}
var _blockingQueue;
function _load_blockingQueue() {
return (_blockingQueue = _interopRequireDefault(
__webpack_require__(110),
));
}
var _promise;
function _load_promise() {
return (_promise = _interopRequireWildcard(__webpack_require__(51)));
}
var _promise2;
function _load_promise2() {
return (_promise2 = __webpack_require__(51));
}
var _map;
function _load_map() {
return (_map = _interopRequireDefault(__webpack_require__(29)));
}
var _fsNormalized;
function _load_fsNormalized() {
return (_fsNormalized = __webpack_require__(216));
}
function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) {
return obj;
} else {
var newObj = {};
if (obj != null) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key))
newObj[key] = obj[key];
}
}
newObj.default = obj;
return newObj;
}
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
const constants = (exports.constants =
typeof (_fs || _load_fs()).default.constants !== 'undefined'
? (_fs || _load_fs()).default.constants
: {
R_OK: (_fs || _load_fs()).default.R_OK,
W_OK: (_fs || _load_fs()).default.W_OK,
X_OK: (_fs || _load_fs()).default.X_OK,
});
const lockQueue = (exports.lockQueue = new (
_blockingQueue || _load_blockingQueue()
).default('fs lock'));
const readFileBuffer = (exports.readFileBuffer = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.readFile,
));
const open = (exports.open = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.open,
));
const writeFile = (exports.writeFile = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.writeFile,
));
const readlink = (exports.readlink = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.readlink,
));
const realpath = (exports.realpath = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.realpath,
));
const readdir = (exports.readdir = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.readdir,
));
const rename = (exports.rename = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.rename,
));
const access = (exports.access = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.access,
));
const stat = (exports.stat = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.stat,
));
const mkdirp = (exports.mkdirp = (0,
(_promise2 || _load_promise2()).promisify)(__webpack_require__(145)));
const exists = (exports.exists = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.exists,
true,
));
const lstat = (exports.lstat = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.lstat,
));
const chmod = (exports.chmod = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.chmod,
));
const link = (exports.link = (0,
(_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.link,
));
const glob = (exports.glob = (0,
(_promise2 || _load_promise2()).promisify)(
(_glob || _load_glob()).default,
));
exports.unlink = (_fsNormalized || _load_fsNormalized()).unlink;
// fs.copyFile uses the native file copying instructions on the system, performing much better
// than any JS-based solution and consumes fewer resources. Repeated testing to fine tune the
// concurrency level revealed 128 as the sweet spot on a quad-core, 16 CPU Intel system with SSD.
const CONCURRENT_QUEUE_ITEMS = (_fs || _load_fs()).default.copyFile
? 128
: 4;
const fsSymlink = (0, (_promise2 || _load_promise2()).promisify)(
(_fs || _load_fs()).default.symlink,
);
const invariant = __webpack_require__(9);
const stripBOM = __webpack_require__(160);
const noop = () => {};
function copy(src, dest, reporter) {
return copyBulk([{ src, dest }], reporter);
}
function _readFile(loc, encoding) {
return new Promise((resolve, reject) => {
(_fs || _load_fs()).default.readFile(
loc,
encoding,
function (err, content) {
if (err) {
reject(err);
} else {
resolve(content);
}
},
);
});
}
function readFile(loc) {
return _readFile(loc, 'utf8').then(normalizeOS);
}
function readFileRaw(loc) {
return _readFile(loc, 'binary');
}
function normalizeOS(body) {
return body.replace(/\r\n/g, '\n');
}
const cr = '\r'.charCodeAt(0);
const lf = '\n'.charCodeAt(0);
/***/
},
/* 6 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true,
});
class MessageError extends Error {
constructor(msg, code) {
super(msg);
this.code = code;
}
}
exports.MessageError = MessageError;
class ProcessSpawnError extends MessageError {
constructor(msg, code, process) {
super(msg, code);
this.process = process;
}
}
exports.ProcessSpawnError = ProcessSpawnError;
class SecurityError extends MessageError {}
exports.SecurityError = SecurityError;
class ProcessTermError extends MessageError {}
exports.ProcessTermError = ProcessTermError;
class ResponseError extends Error {
constructor(msg, responseCode) {
super(msg);
this.responseCode = responseCode;
}
}
exports.ResponseError = ResponseError;
class OneTimePasswordError extends Error {}
exports.OneTimePasswordError = OneTimePasswordError;
/***/
},
/* 7 */
/***/ function (module, __webpack_exports__, __webpack_require__) {
'use strict';
/* harmony export (binding) */ __webpack_require__.d(
__webpack_exports__,
'a',
function () {
return Subscriber;
},
);
/* unused harmony export SafeSubscriber */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ =
__webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_isFunction__ =
__webpack_require__(154);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Observer__ =
__webpack_require__(420);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ =
__webpack_require__(25);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_symbol_rxSubscriber__ =
__webpack_require__(321);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__config__ =
__webpack_require__(186);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_hostReportError__ =
__webpack_require__(323);
/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */
var Subscriber = /*@__PURE__*/ (function (_super) {
__WEBPACK_IMPORTED_MODULE_0_tslib__['a' /* __extends */](
Subscriber,
_super,
);
function Subscriber(destinationOrNext, error, complete) {
var _this = _super.call(this) || this;
_this.syncErrorValue = null;
_this.syncErrorThrown = false;
_this.syncErrorThrowable = false;
_this.isStopped = false;
_this._parentSubscription = null;
switch (arguments.length) {
case 0:
_this.destination =
__WEBPACK_IMPORTED_MODULE_2__Observer__['a' /* empty */];
break;
case 1:
if (!destinationOrNext) {
_this.destination =
__WEBPACK_IMPORTED_MODULE_2__Observer__['a' /* empty */];
break;
}
if (typeof destinationOrNext === 'object') {
if (destinationOrNext instanceof Subscriber) {
_this.syncErrorThrowable =
destinationOrNext.syncErrorThrowable;
_this.destination = destinationOrNext;
destinationOrNext.add(_this);
} else {
_this.syncErrorThrowable = true;
_this.destination = new SafeSubscriber(
_this,
destinationOrNext,
);
}
break;
}
default:
_this.syncErrorThrowable = true;
_this.destination = new SafeSubscriber(
_this,
destinationOrNext,
error,
complete,
);
break;
}
return _this;
}
Subscriber.prototype[
__WEBPACK_IMPORTED_MODULE_4__internal_symbol_rxSubscriber__[
'a' /* rxSubscriber */
]
] = function () {
return this;
};
Subscriber.create = function (next, error, complete) {
var subscriber = new Subscriber(next, error, complete);
subscriber.syncErrorThrowable = false;
return subscriber;
};
Subscriber.prototype.next = function (value) {
if (!this.isStopped) {
this._next(value);
}
};
Subscriber.prototype.error = function (err) {
if (!this.isStopped) {
this.isStopped = true;
this._error(err);
}
};
Subscriber.prototype.complete = function () {
if (!this.isStopped) {
this.isStopped = true;
this._complete();
}
};
Subscriber.prototype.unsubscribe = function () {
if (this.closed) {
return;
}
this.isStopped = true;
_super.prototype.unsubscribe.call(this);
};
Subscriber.prototype._next = function (value) {
this.destination.next(value);
};
Subscriber.prototype._error = function (err) {
this.destination.error(err);
this.unsubscribe();
};
Subscriber.prototype._complete = function () {
this.destination.complete();
this.unsubscribe();
};
Subscriber.prototype._unsubscribeAndRecycle = function () {
var _a = this,
_parent = _a._parent,
_parents = _a._parents;
this._parent = null;
this._parents = null;
this.unsubscribe();
this.closed = false;
this.isStopped = false;
this._parent = _parent;
this._parents = _parents;
this._parentSubscription = null;
return this;
};
return Subscriber;
})(__WEBPACK_IMPORTED_MODULE_3__Subscription__['a' /* Subscription */]);
var SafeSubscriber = /*@__PURE__*/ (function (_super) {
__WEBPACK_IMPORTED_MODULE_0_tslib__['a' /* __extends */](
SafeSubscriber,
_super,
);
function SafeSubscriber(
_parentSubscriber,
observerOrNext,
error,
complete,
) {
var _this = _super.call(this) || this;
_this._parentSubscriber = _parentSubscriber;
var next;
var context = _this;
if (
__webpack_require__.i(
__WEBPACK_IMPORTED_MODULE_1__util_isFunction__[
'a' /* isFunction */
],
)(observerOrNext)
) {
next = observerOrNext;
} else if (observerOrNext) {
next = observerOrNext.next;
error = observerOrNext.error;
complete = observerOrNext.complete;
if (
observerOrNext !==
__WEBPACK_IMPORTED_MODULE_2__Observer__['a' /* empty */]
) {
context = Object.create(observerOrNext);
if (
__webpack_require__.i(
__WEBPACK_IMPORTED_MODULE_1__util_isFunction__[
'a' /* isFunction */
],
)(context.unsubscribe)
) {
_this.add(context.unsubscribe.bind(context));
}
context.unsubscribe = _this.unsubscribe.bind(_this);
}
}
_this._context = context;
_this._next = next;
_this._error = error;
_this._complete = complete;
return _this;
}
SafeSubscriber.prototype.next = function (value) {
if (!this.isStopped && this._next) {
var _parentSubscriber = this._parentSubscriber;
if (
!__WEBPACK_IMPORTED_MODULE_5__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling ||
!_parentSubscriber.syncErrorThrowable
) {
this.__tryOrUnsub(this._next, value);
} else if (
this.__tryOrSetError(_parentSubscriber, this._next, value)
) {
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.error = function (err) {
if (!this.isStopped) {
var _parentSubscriber = this._parentSubscriber;
var useDeprecatedSynchronousErrorHandling =
__WEBPACK_IMPORTED_MODULE_5__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling;
if (this._error) {
if (
!useDeprecatedSynchronousErrorHandling ||
!_parentSubscriber.syncErrorThrowable
) {
this.__tryOrUnsub(this._error, err);
this.unsubscribe();
} else {
this.__tryOrSetError(_parentSubscriber, this._error, err);
this.unsubscribe();
}
} else if (!_parentSubscriber.syncErrorThrowable) {
this.unsubscribe();
if (useDeprecatedSynchronousErrorHandling) {
throw err;
}
__webpack_require__.i(
__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__[
'a' /* hostReportError */
],
)(err);
} else {
if (useDeprecatedSynchronousErrorHandling) {
_parentSubscriber.syncErrorValue = err;
_parentSubscriber.syncErrorThrown = true;
} else {
__webpack_require__.i(
__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__[
'a' /* hostReportError */
],
)(err);
}
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.complete = function () {
var _this = this;
if (!this.isStopped) {
var _parentSubscriber = this._parentSubscriber;
if (this._complete) {
var wrappedComplete = function () {
return _this._complete.call(_this._context);
};
if (
!__WEBPACK_IMPORTED_MODULE_5__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling ||
!_parentSubscriber.syncErrorThrowable
) {
this.__tryOrUnsub(wrappedComplete);
this.unsubscribe();
} else {
this.__tryOrSetError(_parentSubscriber, wrappedComplete);
this.unsubscribe();
}
} else {
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {
try {
fn.call(this._context, value);
} catch (err) {
this.unsubscribe();
if (
__WEBPACK_IMPORTED_MODULE_5__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling
) {
throw err;
} else {
__webpack_require__.i(
__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__[
'a' /* hostReportError */
],
)(err);
}
}
};
SafeSubscriber.prototype.__tryOrSetError = function (
parent,
fn,
value,
) {
if (
!__WEBPACK_IMPORTED_MODULE_5__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling
) {
throw new Error('bad call');
}
try {
fn.call(this._context, value);
} catch (err) {
if (
__WEBPACK_IMPORTED_MODULE_5__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling
) {
parent.syncErrorValue = err;
parent.syncErrorThrown = true;
return true;
} else {
__webpack_require__.i(
__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__[
'a' /* hostReportError */
],
)(err);
return true;
}
}
return false;
};
SafeSubscriber.prototype._unsubscribe = function () {
var _parentSubscriber = this._parentSubscriber;
this._context = null;
this._parentSubscriber = null;
_parentSubscriber.unsubscribe();
};
return SafeSubscriber;
})(Subscriber);
//# sourceMappingURL=Subscriber.js.map
/***/
},
/* 8 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true,
});
exports.getPathKey = getPathKey;
const os = __webpack_require__(46);
const path = __webpack_require__(0);
const userHome = __webpack_require__(67).default;
var _require = __webpack_require__(222);
const getCacheDir = _require.getCacheDir,
getConfigDir = _require.getConfigDir,
getDataDir = _require.getDataDir;
const isWebpackBundle = __webpack_require__(278);
const DEPENDENCY_TYPES = (exports.DEPENDENCY_TYPES = [
'devDependencies',
'dependencies',
'optionalDependencies',
'peerDependencies',
]);
const OWNED_DEPENDENCY_TYPES = (exports.OWNED_DEPENDENCY_TYPES = [
'devDependencies',
'dependencies',
'optionalDependencies',
]);
const RESOLUTIONS = (exports.RESOLUTIONS = 'resolutions');
const MANIFEST_FIELDS = (exports.MANIFEST_FIELDS = [
RESOLUTIONS,
...DEPENDENCY_TYPES,
]);
const SUPPORTED_NODE_VERSIONS = (exports.SUPPORTED_NODE_VERSIONS =
'^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0');
const YARN_REGISTRY = (exports.YARN_REGISTRY =
'https://registry.yarnpkg.com');
const NPM_REGISTRY_RE = (exports.NPM_REGISTRY_RE =
/https?:\/\/registry\.npmjs\.org/g);
const YARN_DOCS = (exports.YARN_DOCS =
'https://yarnpkg.com/en/docs/cli/');
const YARN_INSTALLER_SH = (exports.YARN_INSTALLER_SH =
'https://yarnpkg.com/install.sh');
const YARN_INSTALLER_MSI = (exports.YARN_INSTALLER_MSI =
'https://yarnpkg.com/latest.msi');
const SELF_UPDATE_VERSION_URL = (exports.SELF_UPDATE_VERSION_URL =
'https://yarnpkg.com/latest-version');
// cache version, bump whenever we make backwards incompatible changes
const CACHE_VERSION = (exports.CACHE_VERSION = 6);
// lockfile version, bump whenever we make backwards incompatible changes
const LOCKFILE_VERSION = (exports.LOCKFILE_VERSION = 1);
// max amount of network requests to perform concurrently
const NETWORK_CONCURRENCY = (exports.NETWORK_CONCURRENCY = 8);
// HTTP timeout used when downloading packages
const NETWORK_TIMEOUT = (exports.NETWORK_TIMEOUT = 30 * 1000); // in milliseconds
// max amount of child processes to execute concurrently
const CHILD_CONCURRENCY = (exports.CHILD_CONCURRENCY = 5);
const REQUIRED_PACKAGE_KEYS = (exports.REQUIRED_PACKAGE_KEYS = [
'name',
'version',
'_uid',
]);
function getPreferredCacheDirectories() {
const preferredCacheDirectories = [getCacheDir()];
if (process.getuid) {
// $FlowFixMe: process.getuid exists, dammit
preferredCacheDirectories.push(
path.join(os.tmpdir(), `.yarn-cache-${process.getuid()}`),
);
}
preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache`));
return preferredCacheDirectories;
}
const PREFERRED_MODULE_CACHE_DIRECTORIES =
(exports.PREFERRED_MODULE_CACHE_DIRECTORIES =
getPreferredCacheDirectories());
const CONFIG_DIRECTORY = (exports.CONFIG_DIRECTORY = getConfigDir());
const DATA_DIRECTORY = (exports.DATA_DIRECTORY = getDataDir());
const LINK_REGISTRY_DIRECTORY = (exports.LINK_REGISTRY_DIRECTORY =
path.join(DATA_DIRECTORY, 'link'));
const GLOBAL_MODULE_DIRECTORY = (exports.GLOBAL_MODULE_DIRECTORY =
path.join(DATA_DIRECTORY, 'global'));
const NODE_BIN_PATH = (exports.NODE_BIN_PATH = process.execPath);
const YARN_BIN_PATH = (exports.YARN_BIN_PATH = getYarnBinPath());
// Webpack needs to be configured with node.__dirname/__filename = false
function getYarnBinPath() {
if (isWebpackBundle) {
return __filename;
} else {
return path.join(__dirname, '..', 'bin', 'yarn.js');
}
}
const NODE_MODULES_FOLDER = (exports.NODE_MODULES_FOLDER =
'node_modules');
const NODE_PACKAGE_JSON = (exports.NODE_PACKAGE_JSON = 'package.json');
const PNP_FILENAME = (exports.PNP_FILENAME = '.pnp.js');
const POSIX_GLOBAL_PREFIX = (exports.POSIX_GLOBAL_PREFIX = `${
process.env.DESTDIR || ''
}/usr/local`);
const FALLBACK_GLOBAL_PREFIX = (exports.FALLBACK_GLOBAL_PREFIX =
path.join(userHome, '.yarn'));
const META_FOLDER = (exports.META_FOLDER = '.yarn-meta');
const INTEGRITY_FILENAME = (exports.INTEGRITY_FILENAME =
'.yarn-integrity');
const LOCKFILE_FILENAME = (exports.LOCKFILE_FILENAME = 'yarn.lock');
const METADATA_FILENAME = (exports.METADATA_FILENAME =
'.yarn-metadata.json');
const TARBALL_FILENAME = (exports.TARBALL_FILENAME = '.yarn-tarball.tgz');
const CLEAN_FILENAME = (exports.CLEAN_FILENAME = '.yarnclean');
const NPM_LOCK_FILENAME = (exports.NPM_LOCK_FILENAME =
'package-lock.json');
const NPM_SHRINKWRAP_FILENAME = (exports.NPM_SHRINKWRAP_FILENAME =
'npm-shrinkwrap.json');
const DEFAULT_INDENT = (exports.DEFAULT_INDENT = ' ');
const SINGLE_INSTANCE_PORT = (exports.SINGLE_INSTANCE_PORT = 31997);
const SINGLE_INSTANCE_FILENAME = (exports.SINGLE_INSTANCE_FILENAME =
'.yarn-single-instance');
const ENV_PATH_KEY = (exports.ENV_PATH_KEY = getPathKey(
process.platform,
process.env,
));
function getPathKey(platform, env) {
let pathKey = 'PATH';
// windows calls its path "Path" usually, but this is not guaranteed.
if (platform === 'win32') {
pathKey = 'Path';
for (const key in env) {
if (key.toLowerCase() === 'path') {
pathKey = key;
}
}
}
return pathKey;
}
const VERSION_COLOR_SCHEME = (exports.VERSION_COLOR_SCHEME = {
major: 'red',
premajor: 'red',
minor: 'yellow',
preminor: 'yellow',
patch: 'green',
prepatch: 'green',
prerelease: 'red',
unchanged: 'white',
unknown: 'red',
});
/***/
},
/* 9 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
/**
* Copyright (c) 2013-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* Use invariant() to assert state which your program assumes to be true.
*
* Provide sprintf-style format (only %s is supported) and arguments
* to provide information about what broke and what you were
* expecting.
*
* The invariant message will be stripped in production, but the invariant
* will remain to ensure logic does not differ in production.
*/
var NODE_ENV = process.env.NODE_ENV;
var invariant = function (condition, format, a, b, c, d, e, f) {
if (NODE_ENV !== 'production') {
if (format === undefined) {
throw new Error('invariant requires an error message argument');
}
}
if (!condition) {
var error;
if (format === undefined) {
error = new Error(
'Minified exception occurred; use the non-minified dev environment ' +
'for the full error message and additional helpful warnings.',
);
} else {
var args = [a, b, c, d, e, f];
var argIndex = 0;
error = new Error(
format.replace(/%s/g, function () {
return args[argIndex++];
}),
);
error.name = 'Invariant Violation';
}
error.framesToPop = 1; // we don't care about invariant's own frame
throw error;
}
};
module.exports = invariant;
/***/
},
/* 10 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
var YAMLException = __webpack_require__(55);
var TYPE_CONSTRUCTOR_OPTIONS = [
'kind',
'resolve',
'construct',
'instanceOf',
'predicate',
'represent',
'defaultStyle',
'styleAliases',
];
var YAML_NODE_KINDS = ['scalar', 'sequence', 'mapping'];
function compileStyleAliases(map) {
var result = {};
if (map !== null) {
Object.keys(map).forEach(function (style) {
map[style].forEach(function (alias) {
result[String(alias)] = style;
});
});
}
return result;
}
function Type(tag, options) {
options = options || {};
Object.keys(options).forEach(function (name) {
if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
throw new YAMLException(
'Unknown option "' +
name +
'" is met in definition of "' +
tag +
'" YAML type.',
);
}
});
// TODO: Add tag format check.
this.tag = tag;
this.kind = options['kind'] || null;
this.resolve =
options['resolve'] ||
function () {
return true;
};
this.construct =
options['construct'] ||
function (data) {
return data;
};
this.instanceOf = options['instanceOf'] || null;
this.predicate = options['predicate'] || null;
this.represent = options['represent'] || null;
this.defaultStyle = options['defaultStyle'] || null;
this.styleAliases = compileStyleAliases(
options['styleAliases'] || null,
);
if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {
throw new YAMLException(
'Unknown kind "' +
this.kind +
'" is specified for "' +
tag +
'" YAML type.',
);
}
}
module.exports = Type;
/***/
},
/* 11 */
/***/ function (module, exports) {
module.exports = require('crypto');
/***/
},
/* 12 */
/***/ function (module, __webpack_exports__, __webpack_require__) {
'use strict';
/* harmony export (binding) */ __webpack_require__.d(
__webpack_exports__,
'a',
function () {
return Observable;
},
);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_canReportError__ =
__webpack_require__(322);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_toSubscriber__ =
__webpack_require__(932);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__internal_symbol_observable__ =
__webpack_require__(118);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_pipe__ =
__webpack_require__(324);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__config__ =
__webpack_require__(186);
/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_internal_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */
var Observable = /*@__PURE__*/ (function () {
function Observable(subscribe) {
this._isScalar = false;
if (subscribe) {
this._subscribe = subscribe;
}
}
Observable.prototype.lift = function (operator) {
var observable = new Observable();
observable.source = this;
observable.operator = operator;
return observable;
};
Observable.prototype.subscribe = function (
observerOrNext,
error,
complete,
) {
var operator = this.operator;
var sink = __webpack_require__.i(
__WEBPACK_IMPORTED_MODULE_1__util_toSubscriber__[
'a' /* toSubscriber */
],
)(observerOrNext, error, complete);
if (operator) {
operator.call(sink, this.source);
} else {
sink.add(
this.source ||
(__WEBPACK_IMPORTED_MODULE_4__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling &&
!sink.syncErrorThrowable)
? this._subscribe(sink)
: this._trySubscribe(sink),
);
}
if (
__WEBPACK_IMPORTED_MODULE_4__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling
) {
if (sink.syncErrorThrowable) {
sink.syncErrorThrowable = false;
if (sink.syncErrorThrown) {
throw sink.syncErrorValue;
}
}
}
return sink;
};
Observable.prototype._trySubscribe = function (sink) {
try {
return this._subscribe(sink);
} catch (err) {
if (
__WEBPACK_IMPORTED_MODULE_4__config__['a' /* config */]
.useDeprecatedSynchronousErrorHandling
) {
sink.syncErrorThrown = true;
sink.syncErrorValue = err;
}
if (
__webpack_require__.i(
__WEBPACK_IMPORTED_MODULE_0__util_canReportError__[
'a' /* canReportError */
],
)(sink)
) {
sink.error(err);
} else {
console.warn(err);
}
}
};
Observable.prototype.forEach = function (next, promiseCtor) {
var _this = this;
promiseCtor = getPromiseCtor(promiseCtor);
return new promiseCtor(function (resolve, reject) {
var subscription;
subscription = _this.subscribe(
function (value) {
try {
next(value);
} catch (err) {
reject(err);
if (subscription) {
subscription.unsubscribe();
}
}
},
reject,
resolve,
);
});
};
Observable.prototype._subscribe = function (subscriber) {
var source = this.source;
return source && source.subscribe(subscriber);
};
Observable.prototype[
__WEBPACK_IMPORTED_MODULE_2__internal_symbol_observable__[
'a' /* observable */
]
] = function () {
return this;
};
Observable.prototype.pipe = function () {
var operations = [];
for (var _i = 0; _i < arguments.length; _i++) {
operations[_i] = arguments[_i];
}
if (operations.length === 0) {
return this;
}
gitextract_nt5keqv5/ ├── .changeset/ │ ├── README.md │ ├── config.json │ └── fast-plants-peel.md ├── .claude/ │ ├── agents/ │ │ ├── playwright-test-generator.md │ │ ├── playwright-test-healer.md │ │ └── playwright-test-planner.md │ └── skills/ │ └── playwright/ │ └── SKILL.md ├── .cursor/ │ ├── mcp.json │ └── rules/ │ └── playwright.mdc ├── .gitattributes ├── .github/ │ ├── pull_request_template.md │ └── workflows/ │ ├── claude-code-review.yml │ ├── claude.yml │ ├── e2e-tests.yml │ ├── main.yml │ ├── push.yml │ ├── pushv1.yml │ ├── release-nightly.yml │ ├── release.yml │ └── security-audit.yml ├── .gitignore ├── .husky/ │ └── pre-commit ├── .kodiak.toml ├── .mcp.json ├── .nvmrc ├── .opencode/ │ └── commands/ │ ├── do-linear.md │ └── plan-linear.md ├── .prettierignore ├── .prettierrc ├── .vex/ │ └── openssl-mongodb.vex.json ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── .yarn/ │ └── releases/ │ ├── yarn-1.22.18.cjs │ └── yarn-4.5.1.cjs ├── .yarnrc.yml ├── AGENTS.md ├── CLAUDE.md ├── CONTRIBUTING.md ├── DEPLOY.md ├── LICENSE ├── LOCAL.md ├── Makefile ├── README.md ├── agent_docs/ │ ├── README.md │ ├── architecture.md │ ├── code_style.md │ ├── development.md │ └── tech_stack.md ├── docker/ │ ├── clickhouse/ │ │ └── local/ │ │ ├── config.xml │ │ ├── init-db-e2e.sh │ │ └── users.xml │ ├── hostmetrics/ │ │ ├── Dockerfile │ │ └── config.dev.yaml │ ├── hyperdx/ │ │ ├── Dockerfile │ │ ├── build.sh │ │ ├── clickhouseConfig.xml │ │ ├── entry.local.auth.sh │ │ ├── entry.local.base.sh │ │ ├── entry.local.noauth.sh │ │ └── entry.prod.sh │ ├── nginx/ │ │ ├── README.md │ │ └── nginx.conf │ └── otel-collector/ │ ├── Dockerfile │ ├── config.standalone.auth.yaml │ ├── config.standalone.yaml │ ├── config.yaml │ ├── custom.config.yaml │ ├── entrypoint.sh │ ├── log-tailer.sh │ ├── schema/ │ │ ├── README.md │ │ └── seed/ │ │ ├── 00001_create_database.sql │ │ ├── 00002_otel_logs.sql │ │ ├── 00003_otel_metrics.sql │ │ ├── 00004_hyperdx_sessions.sql │ │ └── 00005_otel_traces.sql │ └── supervisor_docker.yaml.tmpl ├── docker-compose.ci.yml ├── docker-compose.dev.yml ├── docker-compose.yml ├── nx.json ├── package.json ├── packages/ │ ├── api/ │ │ ├── .Dockerignore │ │ ├── .spectral.yaml │ │ ├── CHANGELOG.md │ │ ├── Dockerfile │ │ ├── bin/ │ │ │ └── hyperdx │ │ ├── docs/ │ │ │ └── auto_provision/ │ │ │ └── AUTO_PROVISION.md │ │ ├── eslint.config.mjs │ │ ├── jest.config.js │ │ ├── jest.setup.ts │ │ ├── migrate-mongo-config.ts │ │ ├── migrations/ │ │ │ ├── ch/ │ │ │ │ ├── 000001_add_is_delta_n_is_monotonic_fields_to_metric_stream_table.down.sql │ │ │ │ └── 000001_add_is_delta_n_is_monotonic_fields_to_metric_stream_table.up.sql │ │ │ └── mongo/ │ │ │ └── 20231130053610-add_accessKey_field_to_user_collection.ts │ │ ├── nodemon.json │ │ ├── openapi.json │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── generate-api-docs.ts │ │ ├── src/ │ │ │ ├── api-app.ts │ │ │ ├── clickhouse/ │ │ │ │ └── __tests__/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── renderChartConfig.test.ts.snap │ │ │ │ ├── clickhouse.V1_DEPRECATED_test.ts │ │ │ │ └── renderChartConfig.test.ts │ │ │ ├── config.ts │ │ │ ├── controllers/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── alertHistory.test.ts │ │ │ │ │ └── team.test.ts │ │ │ │ ├── ai.ts │ │ │ │ ├── alertHistory.ts │ │ │ │ ├── alerts.ts │ │ │ │ ├── connection.ts │ │ │ │ ├── dashboard.ts │ │ │ │ ├── presetDashboardFilters.ts │ │ │ │ ├── savedSearch.ts │ │ │ │ ├── sources.ts │ │ │ │ ├── team.ts │ │ │ │ └── user.ts │ │ │ ├── fixtures.ts │ │ │ ├── index.ts │ │ │ ├── middleware/ │ │ │ │ ├── auth.ts │ │ │ │ ├── cors.ts │ │ │ │ ├── error.ts │ │ │ │ └── validation.ts │ │ │ ├── models/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.test.ts │ │ │ │ ├── alert.ts │ │ │ │ ├── alertHistory.ts │ │ │ │ ├── connection.ts │ │ │ │ ├── dashboard.ts │ │ │ │ ├── index.ts │ │ │ │ ├── presetDashboardFilter.ts │ │ │ │ ├── savedSearch.ts │ │ │ │ ├── source.ts │ │ │ │ ├── team.ts │ │ │ │ ├── teamInvite.ts │ │ │ │ ├── user.ts │ │ │ │ └── webhook.ts │ │ │ ├── opamp/ │ │ │ │ ├── README.md │ │ │ │ ├── app.ts │ │ │ │ ├── controllers/ │ │ │ │ │ └── opampController.ts │ │ │ │ ├── models/ │ │ │ │ │ └── agent.ts │ │ │ │ ├── proto/ │ │ │ │ │ ├── anyvalue.proto │ │ │ │ │ └── opamp.proto │ │ │ │ ├── services/ │ │ │ │ │ └── agentService.ts │ │ │ │ └── utils/ │ │ │ │ └── protobuf.ts │ │ │ ├── routers/ │ │ │ │ ├── api/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── alerts.test.ts │ │ │ │ │ │ ├── dashboard.test.ts │ │ │ │ │ │ ├── savedSearch.test.ts │ │ │ │ │ │ ├── sources.test.ts │ │ │ │ │ │ ├── team.test.ts │ │ │ │ │ │ └── webhooks.test.ts │ │ │ │ │ ├── ai.ts │ │ │ │ │ ├── alerts.ts │ │ │ │ │ ├── clickhouseProxy.ts │ │ │ │ │ ├── connections.ts │ │ │ │ │ ├── dashboards.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── me.ts │ │ │ │ │ ├── root.ts │ │ │ │ │ ├── savedSearch.ts │ │ │ │ │ ├── sources.ts │ │ │ │ │ ├── team.ts │ │ │ │ │ └── webhooks.ts │ │ │ │ └── external-api/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── alerts.test.ts │ │ │ │ │ ├── charts.test.ts │ │ │ │ │ ├── dashboards.test.ts │ │ │ │ │ ├── sources.test.ts │ │ │ │ │ ├── v2.test.ts │ │ │ │ │ └── webhooks.test.ts │ │ │ │ └── v2/ │ │ │ │ ├── alerts.ts │ │ │ │ ├── charts.ts │ │ │ │ ├── dashboards.ts │ │ │ │ ├── index.ts │ │ │ │ ├── sources.ts │ │ │ │ ├── utils/ │ │ │ │ │ └── dashboards.ts │ │ │ │ └── webhooks.ts │ │ │ ├── server.ts │ │ │ ├── setupDefaults.ts │ │ │ ├── tasks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── types.test.ts │ │ │ │ │ └── util.test.ts │ │ │ │ ├── checkAlerts/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── checkAlerts.test.ts │ │ │ │ │ │ ├── checkAlertsTask.test.ts │ │ │ │ │ │ └── singleInvocationAlert.test.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── providers/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── default.test.ts │ │ │ │ │ │ ├── default.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── template.ts │ │ │ │ ├── index.ts │ │ │ │ ├── metrics.ts │ │ │ │ ├── pingPongTask.ts │ │ │ │ ├── tracer.ts │ │ │ │ ├── types.ts │ │ │ │ ├── usageStats.ts │ │ │ │ └── util.ts │ │ │ └── utils/ │ │ │ ├── __tests__/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── logParser.test.ts.snap │ │ │ │ ├── common.test.ts │ │ │ │ ├── enhancedErrors.test.ts │ │ │ │ ├── errors.test.ts │ │ │ │ ├── externalApi.test.ts │ │ │ │ ├── logParser.test.ts │ │ │ │ └── validators.test.ts │ │ │ ├── common.ts │ │ │ ├── email.ts │ │ │ ├── enhancedErrors.ts │ │ │ ├── errors.ts │ │ │ ├── externalApi.ts │ │ │ ├── logParser.ts │ │ │ ├── logger.ts │ │ │ ├── passport.ts │ │ │ ├── queue.ts │ │ │ ├── rateLimiter.ts │ │ │ ├── serialization.ts │ │ │ ├── slack.ts │ │ │ ├── swagger.ts │ │ │ ├── validators.ts │ │ │ └── zod.ts │ │ ├── tsconfig.build.json │ │ └── tsconfig.json │ ├── app/ │ │ ├── .Dockerignore │ │ ├── .gitignore │ │ ├── .storybook/ │ │ │ ├── main.ts │ │ │ ├── preview-head.html │ │ │ ├── preview.tsx │ │ │ └── public/ │ │ │ └── mockServiceWorker.js │ │ ├── .stylelintignore │ │ ├── CHANGELOG.md │ │ ├── Dockerfile │ │ ├── eslint.config.mjs │ │ ├── global-setup.js │ │ ├── jest.config.js │ │ ├── knip.json │ │ ├── mdx.d.ts │ │ ├── next.config.mjs │ │ ├── package.json │ │ ├── pages/ │ │ │ ├── 404.tsx │ │ │ ├── _app.tsx │ │ │ ├── _document.tsx │ │ │ ├── _error.tsx │ │ │ ├── alerts.tsx │ │ │ ├── api/ │ │ │ │ ├── [...all].ts │ │ │ │ └── config.ts │ │ │ ├── benchmark.tsx │ │ │ ├── careers.tsx │ │ │ ├── chart.tsx │ │ │ ├── clickhouse.tsx │ │ │ ├── dashboards/ │ │ │ │ ├── [dashboardId].tsx │ │ │ │ ├── import.tsx │ │ │ │ └── index.tsx │ │ │ ├── index.tsx │ │ │ ├── join-team.tsx │ │ │ ├── kubernetes.tsx │ │ │ ├── login/ │ │ │ │ └── index.tsx │ │ │ ├── register.tsx │ │ │ ├── search/ │ │ │ │ ├── [savedSearchId].tsx │ │ │ │ └── index.tsx │ │ │ ├── service-map.tsx │ │ │ ├── services.tsx │ │ │ ├── sessions.tsx │ │ │ └── team/ │ │ │ └── index.tsx │ │ ├── playwright.config.ts │ │ ├── postcss.config.cjs │ │ ├── public/ │ │ │ ├── drain3-0.9.11-py3-none-any.whl │ │ │ ├── jsonpickle-4.1.1-py3-none-any.whl │ │ │ └── pyodide/ │ │ │ ├── cachetools-5.3.3-py3-none-any.whl │ │ │ ├── micropip-0.8.0-py3-none-any.whl │ │ │ ├── packaging-24.2-py3-none-any.whl │ │ │ ├── pyodide-lock.json │ │ │ ├── pyodide.asm.js │ │ │ ├── pyodide.asm.wasm │ │ │ └── pyodide.js │ │ ├── scripts/ │ │ │ ├── move-to-clickhouse.js │ │ │ ├── prepare-clickhouse-build-export.js │ │ │ └── run-e2e.js │ │ ├── src/ │ │ │ ├── AlertsPage.tsx │ │ │ ├── AuthLoadingBlocker.tsx │ │ │ ├── AuthPage.tsx │ │ │ ├── BenchmarkPage.tsx │ │ │ ├── CareersPage.tsx │ │ │ ├── ChartUtils.tsx │ │ │ ├── Checkbox.tsx │ │ │ ├── ClickhousePage.tsx │ │ │ ├── Clipboard.tsx │ │ │ ├── DBChartPage.tsx │ │ │ ├── DBDashboardImportPage.tsx │ │ │ ├── DBDashboardPage.tsx │ │ │ ├── DBSearchPage.tsx │ │ │ ├── DBSearchPageAlertModal.tsx │ │ │ ├── DBServiceMapPage.tsx │ │ │ ├── DOMPlayer.tsx │ │ │ ├── DashboardFilters.tsx │ │ │ ├── DashboardFiltersModal.tsx │ │ │ ├── GranularityPicker.tsx │ │ │ ├── HDXMarkdownChart.tsx │ │ │ ├── HDXMultiSeriesTableChart.stories.tsx │ │ │ ├── HDXMultiSeriesTableChart.tsx │ │ │ ├── HDXMultiSeriesTimeChart.tsx │ │ │ ├── InstallInstructionsModal.tsx │ │ │ ├── JoinTeamPage.tsx │ │ │ ├── KubernetesDashboardPage.tsx │ │ │ ├── LandingHeader.tsx │ │ │ ├── LandingPage.tsx │ │ │ ├── LogSidePanelElements.stories.tsx │ │ │ ├── LogSidePanelElements.tsx │ │ │ ├── NamespaceDetailsSidePanel.tsx │ │ │ ├── NodeDetailsSidePanel.tsx │ │ │ ├── OnboardingChecklist.tsx │ │ │ ├── PasswordCheck.tsx │ │ │ ├── Playbar.tsx │ │ │ ├── PlaybarSlider.tsx │ │ │ ├── PodDetailsSidePanel.tsx │ │ │ ├── SVGIcons.tsx │ │ │ ├── ServicesDashboardPage.tsx │ │ │ ├── SessionEventList.tsx │ │ │ ├── SessionSidePanel.tsx │ │ │ ├── SessionSubpanel.tsx │ │ │ ├── SessionsPage.tsx │ │ │ ├── Spotlights.tsx │ │ │ ├── TabBar.tsx │ │ │ ├── TabBarWithContent.tsx │ │ │ ├── TabItem.tsx │ │ │ ├── TeamPage.tsx │ │ │ ├── ThemeWrapper.tsx │ │ │ ├── UserPreferencesModal.tsx │ │ │ ├── __mocks__/ │ │ │ │ ├── ky-universal.ts │ │ │ │ └── react-json-tree.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── ChartUtils.test.ts │ │ │ │ ├── DBSearchPage.test.tsx │ │ │ │ ├── DBSearchPageQueryKey.test.tsx │ │ │ │ ├── KubernetesDashboardPage.test.ts │ │ │ │ ├── ServicesDashboardPage.test.ts │ │ │ │ ├── Spotlights.test.tsx │ │ │ │ ├── dashboard.test.ts │ │ │ │ ├── dashboardSections.test.tsx │ │ │ │ ├── localStore.test.ts │ │ │ │ ├── otelSemanticConventions.test.ts │ │ │ │ ├── searchFilters.test.ts │ │ │ │ ├── serviceDashboard.test.ts │ │ │ │ ├── source.test.ts │ │ │ │ ├── timeQuery.test.tsx │ │ │ │ ├── useUserPreferences.test.tsx │ │ │ │ └── utils.test.ts │ │ │ ├── api.ts │ │ │ ├── clickhouse.ts │ │ │ ├── components/ │ │ │ │ ├── AggFnSelect.tsx │ │ │ │ ├── AlertPreviewChart.tsx │ │ │ │ ├── AlertScheduleFields.tsx │ │ │ │ ├── Alerts.tsx │ │ │ │ ├── AppNav/ │ │ │ │ │ ├── AppNav.components.tsx │ │ │ │ │ ├── AppNav.module.scss │ │ │ │ │ ├── AppNav.stories.tsx │ │ │ │ │ ├── AppNav.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── ChartBox.tsx │ │ │ │ ├── ChartDisplaySettingsDrawer.tsx │ │ │ │ ├── ChartEditor/ │ │ │ │ │ ├── RawSqlChartEditor.tsx │ │ │ │ │ ├── RawSqlChartInstructions.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ ├── constants.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── ChartSQLPreview.tsx │ │ │ │ ├── ColorSwatchInput.stories.tsx │ │ │ │ ├── ColorSwatchInput.tsx │ │ │ │ ├── ConfirmDeleteMenu.tsx │ │ │ │ ├── ConnectionForm.tsx │ │ │ │ ├── ConnectionSelect.tsx │ │ │ │ ├── ContactSupportText.tsx │ │ │ │ ├── ContextSidePanel.tsx │ │ │ │ ├── CsvExportButton.tsx │ │ │ │ ├── DBDeltaChart.tsx │ │ │ │ ├── DBEditTimeChartForm.tsx │ │ │ │ ├── DBHeatmapChart.tsx │ │ │ │ ├── DBHighlightedAttributesList.tsx │ │ │ │ ├── DBHistogramChart.tsx │ │ │ │ ├── DBInfraPanel.tsx │ │ │ │ ├── DBListBarChart.tsx │ │ │ │ ├── DBNumberChart.tsx │ │ │ │ ├── DBPieChart.tsx │ │ │ │ ├── DBRowDataPanel.tsx │ │ │ │ ├── DBRowJsonViewer.test.tsx │ │ │ │ ├── DBRowJsonViewer.tsx │ │ │ │ ├── DBRowOverviewPanel.tsx │ │ │ │ ├── DBRowSidePanel.tsx │ │ │ │ ├── DBRowSidePanelHeader.tsx │ │ │ │ ├── DBRowTable.tsx │ │ │ │ ├── DBSearchPageFilters/ │ │ │ │ │ ├── NestedFilterGroup.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── DBSearchPageFilters.tsx │ │ │ │ ├── DBSessionPanel.tsx │ │ │ │ ├── DBSqlRowTableWithSidebar.tsx │ │ │ │ ├── DBTable/ │ │ │ │ │ ├── DBRowTableFieldWithPopover.tsx │ │ │ │ │ ├── DBRowTableIconButton.tsx │ │ │ │ │ ├── DBRowTableRowButtons.tsx │ │ │ │ │ ├── TableHeader.module.scss │ │ │ │ │ ├── TableHeader.tsx │ │ │ │ │ ├── TableSearchInput.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── TableSearchInput.test.tsx │ │ │ │ │ │ └── sorting.test.ts │ │ │ │ │ └── sorting.ts │ │ │ │ ├── DBTableChart.tsx │ │ │ │ ├── DBTableSelect.tsx │ │ │ │ ├── DBTimeChart.tsx │ │ │ │ ├── DBTracePanel.tsx │ │ │ │ ├── DBTraceWaterfallChart.tsx │ │ │ │ ├── DatabaseSelect.tsx │ │ │ │ ├── DrawerUtils.tsx │ │ │ │ ├── DynamicFavicon.tsx │ │ │ │ ├── Error/ │ │ │ │ │ ├── ErrorBoundary.stories.tsx │ │ │ │ │ ├── ErrorBoundary.tsx │ │ │ │ │ └── ErrorCollapse.tsx │ │ │ │ ├── EventTag.tsx │ │ │ │ ├── ExceptionSubpanel.stories.tsx │ │ │ │ ├── ExceptionSubpanel.tsx │ │ │ │ ├── ExpandableRowTable.tsx │ │ │ │ ├── FullscreenPanelModal.tsx │ │ │ │ ├── HyperJson.module.scss │ │ │ │ ├── HyperJson.stories.tsx │ │ │ │ ├── HyperJson.tsx │ │ │ │ ├── InputControlled.tsx │ │ │ │ ├── KubeComponents.tsx │ │ │ │ ├── KubernetesFilters.tsx │ │ │ │ ├── LogLevel.tsx │ │ │ │ ├── MaterializedViews/ │ │ │ │ │ ├── MVConfigSummary.tsx │ │ │ │ │ ├── MVOptimizationIndicator.tsx │ │ │ │ │ └── MVOptimizationModal.tsx │ │ │ │ ├── MetricAttributeHelperPanel.tsx │ │ │ │ ├── MetricNameSelect.tsx │ │ │ │ ├── NetworkPropertyPanel.tsx │ │ │ │ ├── NumberFormat.tsx │ │ │ │ ├── OnboardingModal.tsx │ │ │ │ ├── PageHeader.module.scss │ │ │ │ ├── PageHeader.tsx │ │ │ │ ├── PatternSidePanel.tsx │ │ │ │ ├── PatternTable.tsx │ │ │ │ ├── PropertyComparisonChart.tsx │ │ │ │ ├── SQLEditor/ │ │ │ │ │ ├── SQLEditor.stories.tsx │ │ │ │ │ ├── SQLEditor.tsx │ │ │ │ │ ├── SQLInlineEditor.module.scss │ │ │ │ │ ├── SQLInlineEditor.stories.tsx │ │ │ │ │ ├── SQLInlineEditor.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── SaveToDashboardModal.tsx │ │ │ │ ├── Search/ │ │ │ │ │ └── DBSearchHeatmapChart.tsx │ │ │ │ ├── SearchInput/ │ │ │ │ │ ├── AutocompleteInput.module.scss │ │ │ │ │ ├── AutocompleteInput.tsx │ │ │ │ │ ├── InputLanguageSwitch.tsx │ │ │ │ │ ├── SearchInputV2.module.scss │ │ │ │ │ ├── SearchInputV2.tsx │ │ │ │ │ ├── SearchWhereInput.module.scss │ │ │ │ │ ├── SearchWhereInput.stories.tsx │ │ │ │ │ ├── SearchWhereInput.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── SearchWhereInput.test.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── SearchPageActionBar.tsx │ │ │ │ ├── SearchTotalCountChart.tsx │ │ │ │ ├── SectionHeader.tsx │ │ │ │ ├── SelectControlled.tsx │ │ │ │ ├── ServiceDashboardDbQuerySidePanel.tsx │ │ │ │ ├── ServiceDashboardEndpointPerformanceChart.tsx │ │ │ │ ├── ServiceDashboardEndpointSidePanel.tsx │ │ │ │ ├── ServiceDashboardSlowestEventsTile.tsx │ │ │ │ ├── ServiceMap/ │ │ │ │ │ ├── ServiceMap.module.scss │ │ │ │ │ ├── ServiceMap.tsx │ │ │ │ │ ├── ServiceMapEdge.tsx │ │ │ │ │ ├── ServiceMapNode.tsx │ │ │ │ │ ├── ServiceMapSidePanel.tsx │ │ │ │ │ ├── ServiceMapTooltip.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── SourceSchemaPreview.tsx │ │ │ │ ├── SourceSelect.tsx │ │ │ │ ├── Sources/ │ │ │ │ │ ├── SourceForm.stories.tsx │ │ │ │ │ ├── SourceForm.tsx │ │ │ │ │ ├── Sources.module.scss │ │ │ │ │ ├── SourcesList.stories.tsx │ │ │ │ │ ├── SourcesList.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── SpanEventsSubpanel.tsx │ │ │ │ ├── StacktraceFrame.tsx │ │ │ │ ├── Table.module.scss │ │ │ │ ├── Table.tsx │ │ │ │ ├── Tags.module.scss │ │ │ │ ├── Tags.tsx │ │ │ │ ├── TeamSettings/ │ │ │ │ │ ├── ApiKeysSection.tsx │ │ │ │ │ ├── ConnectionsSection.tsx │ │ │ │ │ ├── IntegrationsSection.tsx │ │ │ │ │ ├── SecurityPoliciesSection.tsx │ │ │ │ │ ├── SourcesSection.tsx │ │ │ │ │ ├── TeamMembersSection.tsx │ │ │ │ │ ├── TeamQueryConfigSection.tsx │ │ │ │ │ ├── WebhookForm.tsx │ │ │ │ │ └── WebhooksSection.tsx │ │ │ │ ├── TimePicker/ │ │ │ │ │ ├── TimePicker.stories.tsx │ │ │ │ │ ├── TimePicker.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── useTimePickerForm.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── TimelineChart/ │ │ │ │ │ ├── TimelineChart.module.scss │ │ │ │ │ ├── TimelineChart.tsx │ │ │ │ │ ├── TimelineChartRowEvents.tsx │ │ │ │ │ ├── TimelineCursor.tsx │ │ │ │ │ ├── TimelineMouseCursor.tsx │ │ │ │ │ ├── TimelineSpanEventMarker.tsx │ │ │ │ │ ├── TimelineXAxis.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── WhereLanguageControlled.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── AppNavUserMenu.test.tsx │ │ │ │ │ ├── ConnectionForm.test.tsx │ │ │ │ │ ├── DBEditTimeChartForm.test.tsx │ │ │ │ │ ├── DBHistogramChart.test.tsx │ │ │ │ │ ├── DBListBarChart.test.tsx │ │ │ │ │ ├── DBNumberChart.test.tsx │ │ │ │ │ ├── DBPieChart.test.tsx │ │ │ │ │ ├── DBRowDataPanel.test.ts │ │ │ │ │ ├── DBRowTable.test.tsx │ │ │ │ │ ├── DBSearchPage.test.tsx │ │ │ │ │ ├── DBSearchPageFilters.test.tsx │ │ │ │ │ ├── DBTableChart.test.tsx │ │ │ │ │ ├── DBTimeChart.test.tsx │ │ │ │ │ ├── DBTraceWaterfallChart.test.tsx │ │ │ │ │ ├── DynamicFavicon.test.tsx │ │ │ │ │ ├── InputControlled.test.tsx │ │ │ │ │ ├── MetricNameSelect.test.ts │ │ │ │ │ ├── SourceForm.test.tsx │ │ │ │ │ ├── deltaChartFieldClassification.test.ts │ │ │ │ │ ├── deltaChartFilterKeys.test.ts │ │ │ │ │ ├── deltaChartSampling.test.ts │ │ │ │ │ ├── deltaChartScoring.test.ts │ │ │ │ │ ├── deltaChartUtils.test.ts │ │ │ │ │ └── heatmapBuckets.test.ts │ │ │ │ ├── charts/ │ │ │ │ │ ├── ChartContainer.tsx │ │ │ │ │ ├── ChartErrorState.tsx │ │ │ │ │ ├── ChartTooltip.tsx │ │ │ │ │ ├── DateRangeIndicator.tsx │ │ │ │ │ └── DisplaySwitcher.tsx │ │ │ │ └── deltaChartUtils.ts │ │ │ ├── config/ │ │ │ │ └── fonts.ts │ │ │ ├── config.ts │ │ │ ├── connection.ts │ │ │ ├── dashboard.ts │ │ │ ├── defaults.ts │ │ │ ├── fixtures.ts │ │ │ ├── fonts.ts │ │ │ ├── hdxMTViews.ts │ │ │ ├── hooks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── useAutoCompleteOptions.test.tsx │ │ │ │ │ ├── useChartConfig.test.tsx │ │ │ │ │ ├── useCsvExport.test.tsx │ │ │ │ │ ├── useDashboardFilterValues.test.tsx │ │ │ │ │ ├── useDashboardFilters.test.tsx │ │ │ │ │ ├── useFieldExpressionGenerator.test.tsx │ │ │ │ │ ├── useMetadata.test.tsx │ │ │ │ │ ├── useOffsetPaginatedQuery.test.tsx │ │ │ │ │ ├── usePresetDashboardFilters.test.tsx │ │ │ │ │ ├── useResizable.test.tsx │ │ │ │ │ ├── useRowWhere.test.tsx │ │ │ │ │ ├── useServiceMap.test.ts │ │ │ │ │ ├── useSqlSuggestions.test.tsx │ │ │ │ │ └── useTableSearch.test.tsx │ │ │ │ ├── ai.ts │ │ │ │ ├── useAutoCompleteOptions.tsx │ │ │ │ ├── useChartConfig.tsx │ │ │ │ ├── useCsvExport.tsx │ │ │ │ ├── useDashboardFilterValues.tsx │ │ │ │ ├── useDashboardFilters.tsx │ │ │ │ ├── useDashboardRefresh.tsx │ │ │ │ ├── useDrag.ts │ │ │ │ ├── useExplainQuery.tsx │ │ │ │ ├── useFetchMetricAttributeValues.tsx │ │ │ │ ├── useFetchMetricMetadata.tsx │ │ │ │ ├── useFetchMetricResourceAttrs.tsx │ │ │ │ ├── useFieldExpressionGenerator.tsx │ │ │ │ ├── useMVOptimizationExplanation.tsx │ │ │ │ ├── useMetadata.tsx │ │ │ │ ├── useOffsetPaginatedQuery.tsx │ │ │ │ ├── usePatterns.tsx │ │ │ │ ├── usePresetDashboardFilters.tsx │ │ │ │ ├── useResizable.tsx │ │ │ │ ├── useRowWhere.tsx │ │ │ │ ├── useServiceMap.tsx │ │ │ │ ├── useSqlSuggestions.tsx │ │ │ │ ├── useStableCallback.ts │ │ │ │ ├── useTableSearch.ts │ │ │ │ ├── useVirtualList.tsx │ │ │ │ └── useWaterfallSearchState.tsx │ │ │ ├── instrumentation.ts │ │ │ ├── layout.tsx │ │ │ ├── localStore.ts │ │ │ ├── metadata.ts │ │ │ ├── mocks/ │ │ │ │ └── handlers.ts │ │ │ ├── otelSemanticConventions.ts │ │ │ ├── savedSearch.ts │ │ │ ├── searchFilters.tsx │ │ │ ├── serviceDashboard.ts │ │ │ ├── sessions.ts │ │ │ ├── setupTests.tsx │ │ │ ├── source.ts │ │ │ ├── stories/ │ │ │ │ ├── ActionIcon.stories.tsx │ │ │ │ └── Button.stories.tsx │ │ │ ├── tableUtils.tsx │ │ │ ├── theme/ │ │ │ │ ├── ChartColors.stories.tsx │ │ │ │ ├── SemanticColors.stories.tsx │ │ │ │ ├── ThemeProvider.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── ThemeProvider.test.tsx │ │ │ │ │ └── index.test.ts │ │ │ │ ├── index.ts │ │ │ │ ├── semanticColorsGrouped.ts │ │ │ │ ├── themes/ │ │ │ │ │ ├── _base-tokens.scss │ │ │ │ │ ├── clickstack/ │ │ │ │ │ │ ├── Logomark.tsx │ │ │ │ │ │ ├── Wordmark.tsx │ │ │ │ │ │ ├── _tokens.scss │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── mantineTheme.ts │ │ │ │ │ └── hyperdx/ │ │ │ │ │ ├── Logomark.tsx │ │ │ │ │ ├── Wordmark.tsx │ │ │ │ │ ├── _tokens.scss │ │ │ │ │ ├── index.ts │ │ │ │ │ └── mantineTheme.ts │ │ │ │ └── types.ts │ │ │ ├── timeQuery.ts │ │ │ ├── types.ts │ │ │ ├── useConfirm.tsx │ │ │ ├── useFormatTime.tsx │ │ │ ├── useQueryParam.tsx │ │ │ ├── useSourceMappedFrame.tsx │ │ │ ├── useUserPreferences.tsx │ │ │ ├── utils/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── alerts.test.ts │ │ │ │ │ ├── highlightedAttributes.test.ts │ │ │ │ │ ├── materializedViews.test.ts │ │ │ │ │ └── queryParsers.test.ts │ │ │ │ ├── alerts.ts │ │ │ │ ├── curlGenerator.ts │ │ │ │ ├── highlightedAttributes.ts │ │ │ │ ├── materializedViews.ts │ │ │ │ ├── queryParsers.ts │ │ │ │ ├── searchWindows.ts │ │ │ │ ├── sessions.ts │ │ │ │ ├── tilePositioning.ts │ │ │ │ └── webhookIcons.tsx │ │ │ ├── utils.ts │ │ │ ├── vsc-dark-plus.ts │ │ │ └── zIndex.ts │ │ ├── stylelint.config.mjs │ │ ├── styles/ │ │ │ ├── AlertsPage.module.scss │ │ │ ├── DashboardFiltersModal.module.scss │ │ │ ├── EndpointSubpanel.module.scss │ │ │ ├── HDXLineChart.module.scss │ │ │ ├── Home.module.css │ │ │ ├── LogSidePanel.module.scss │ │ │ ├── LogTable.module.scss │ │ │ ├── PlaybarSlider.module.scss │ │ │ ├── ResizablePanel.module.scss │ │ │ ├── SearchPage.module.scss │ │ │ ├── SessionSubpanelV2.module.scss │ │ │ ├── SessionsPage.module.scss │ │ │ ├── SourceSelectControlled.module.scss │ │ │ ├── _bootstrap-utilities.scss │ │ │ ├── _utilities.scss │ │ │ ├── app.scss │ │ │ ├── focus.module.scss │ │ │ ├── globals.css │ │ │ └── variants.module.scss │ │ ├── tests/ │ │ │ └── e2e/ │ │ │ ├── README.md │ │ │ ├── components/ │ │ │ │ ├── ChartEditorComponent.ts │ │ │ │ ├── FilterComponent.ts │ │ │ │ ├── InfrastructurePanelComponent.ts │ │ │ │ ├── SavedSearchModalComponent.ts │ │ │ │ ├── SearchPageAlertModalComponent.ts │ │ │ │ ├── SidePanelComponent.ts │ │ │ │ ├── TableComponent.ts │ │ │ │ ├── TimePickerComponent.ts │ │ │ │ └── WebhookAlertModalComponent.ts │ │ │ ├── core/ │ │ │ │ └── navigation.spec.ts │ │ │ ├── docker-compose.yml │ │ │ ├── features/ │ │ │ │ ├── alerts.spec.ts │ │ │ │ ├── chart-explorer.spec.ts │ │ │ │ ├── dashboard-external-api-config.spec.ts │ │ │ │ ├── dashboard-external-api-series.spec.ts │ │ │ │ ├── dashboard.spec.ts │ │ │ │ ├── kubernetes.spec.ts │ │ │ │ ├── search/ │ │ │ │ │ ├── relative-time.spec.ts │ │ │ │ │ ├── saved-search.spec.ts │ │ │ │ │ ├── search-filters.spec.ts │ │ │ │ │ └── search.spec.ts │ │ │ │ ├── services-dashboard.spec.ts │ │ │ │ ├── sessions.spec.ts │ │ │ │ ├── shared/ │ │ │ │ │ └── multiline.spec.ts │ │ │ │ ├── sources.spec.ts │ │ │ │ ├── team.spec.ts │ │ │ │ └── traces-workflow.spec.ts │ │ │ ├── fixtures/ │ │ │ │ └── e2e-fixtures.json │ │ │ ├── global-setup-fullstack.ts │ │ │ ├── global-setup-local.ts │ │ │ ├── page-objects/ │ │ │ │ ├── AlertsPage.ts │ │ │ │ ├── ChartExplorerPage.ts │ │ │ │ ├── DashboardPage.ts │ │ │ │ ├── KubernetesPage.ts │ │ │ │ ├── SearchPage.ts │ │ │ │ ├── ServicesDashboardPage.ts │ │ │ │ ├── SessionsPage.ts │ │ │ │ └── TeamPage.ts │ │ │ ├── seed-clickhouse.ts │ │ │ └── utils/ │ │ │ ├── api-helpers.ts │ │ │ ├── base-test.ts │ │ │ ├── constants.ts │ │ │ └── locators.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ └── types/ │ │ └── crypto-randomuuid.d.ts │ ├── common-utils/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── eslint.config.mjs │ │ ├── jest.config.js │ │ ├── jest.int.config.js │ │ ├── jest.setup.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── renderChartConfig.test.ts.snap │ │ │ │ ├── clickhouse.test.ts │ │ │ │ ├── macros.test.ts │ │ │ │ ├── metadata.int.test.ts │ │ │ │ ├── metadata.test.ts │ │ │ │ ├── queryParser.test.ts │ │ │ │ ├── rawSqlParams.test.ts │ │ │ │ ├── renderChartConfig.test.ts │ │ │ │ ├── sqlFormatter.test.ts │ │ │ │ ├── utils.test.ts │ │ │ │ └── validation.test.ts │ │ │ ├── clickhouse/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── materializedViews.test.ts │ │ │ │ ├── browser.ts │ │ │ │ ├── index.ts │ │ │ │ └── node.ts │ │ │ ├── core/ │ │ │ │ ├── histogram.ts │ │ │ │ ├── materializedViews.ts │ │ │ │ ├── metadata.ts │ │ │ │ ├── renderChartConfig.ts │ │ │ │ └── utils.ts │ │ │ ├── guards.ts │ │ │ ├── macros.ts │ │ │ ├── queryParser.ts │ │ │ ├── rawSqlParams.ts │ │ │ ├── sqlFormatter.ts │ │ │ ├── types.ts │ │ │ └── validation.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ └── otel-collector/ │ ├── CHANGELOG.md │ ├── cmd/ │ │ └── migrate/ │ │ ├── main.go │ │ └── main_test.go │ ├── go.mod │ ├── go.sum │ └── package.json ├── proxy/ │ ├── README.md │ ├── nginx/ │ │ └── nginx.conf.template │ └── traefik/ │ ├── config.yml │ └── traefik.yml ├── scripts/ │ ├── test-e2e-ci.sh │ └── test-e2e.sh ├── smoke-tests/ │ └── otel-collector/ │ ├── README.md │ ├── auto-parse-json.bats │ ├── data/ │ │ ├── auto-parse/ │ │ │ ├── default/ │ │ │ │ ├── assert_query.sql │ │ │ │ ├── expected.snap │ │ │ │ └── input.json │ │ │ ├── json-string/ │ │ │ │ ├── assert_query.sql │ │ │ │ ├── expected.snap │ │ │ │ └── input.json │ │ │ └── otel-map/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ ├── normalize-severity/ │ │ │ └── text-case/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ └── severity-inference/ │ │ ├── infer-debug/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ ├── infer-error/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ ├── infer-fatal/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ ├── infer-info/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ ├── infer-superstring/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ ├── infer-trace/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ ├── infer-warn/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ ├── no-infer-substring/ │ │ │ ├── assert_query.sql │ │ │ ├── expected.snap │ │ │ └── input.json │ │ └── skip-infer/ │ │ ├── assert_query.sql │ │ ├── expected.snap │ │ └── input.json │ ├── docker-compose.yaml │ ├── normalize-severity.bats │ ├── receiver-config.yaml │ ├── setup_suite.bash │ ├── severity-inference.bats │ └── test_helpers/ │ ├── assertions.bash │ └── utilities.bash ├── tsconfig.base.json └── version.sh
Showing preview only (1,205K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (13710 symbols across 399 files)
FILE: .yarn/releases/yarn-1.22.18.cjs
function __webpack_require__ (line 8) | function __webpack_require__(moduleId) {
function __extends (line 151) | function __extends(d, b) {
function __rest (line 176) | function __rest(s, e) {
function __decorate (line 191) | function __decorate(decorators, target, key, desc) {
function __param (line 214) | function __param(paramIndex, decorator) {
function __metadata (line 220) | function __metadata(metadataKey, metadataValue) {
function __awaiter (line 228) | function __awaiter(thisArg, _arguments, P, generator) {
function __generator (line 255) | function __generator(thisArg, body) {
function __exportStar (line 354) | function __exportStar(m, exports) {
function __values (line 358) | function __values(o) {
function __read (line 370) | function __read(o, n) {
function __spread (line 392) | function __spread() {
function __await (line 398) | function __await(v) {
function __asyncGenerator (line 402) | function __asyncGenerator(thisArg, _arguments, generator) {
function __asyncDelegator (line 449) | function __asyncDelegator(o) {
function __asyncValues (line 476) | function __asyncValues(o) {
function __makeTemplateObject (line 511) | function __makeTemplateObject(cooked, raw) {
function __importStar (line 520) | function __importStar(mod) {
function __importDefault (line 530) | function __importDefault(mod) {
function _interopRequireDefault (line 546) | function _interopRequireDefault(obj) {
function step (line 554) | function step(key, arg) {
function _load_asyncToGenerator (line 639) | function _load_asyncToGenerator() {
function onDone (line 913) | function onDone() {
function onDone (line 1299) | function onDone() {
function _load_fs (line 2052) | function _load_fs() {
function _load_glob (line 2058) | function _load_glob() {
function _load_os (line 2064) | function _load_os() {
function _load_path (line 2070) | function _load_path() {
function _load_blockingQueue (line 2076) | function _load_blockingQueue() {
function _load_promise (line 2084) | function _load_promise() {
function _load_promise2 (line 2090) | function _load_promise2() {
function _load_map (line 2096) | function _load_map() {
function _load_fsNormalized (line 2102) | function _load_fsNormalized() {
function _interopRequireWildcard (line 2106) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 2122) | function _interopRequireDefault(obj) {
function copy (line 2216) | function copy(src, dest, reporter) {
function _readFile (line 2220) | function _readFile(loc, encoding) {
function readFile (line 2236) | function readFile(loc) {
function readFileRaw (line 2240) | function readFileRaw(loc) {
function normalizeOS (line 2244) | function normalizeOS(body) {
class MessageError (line 2260) | class MessageError extends Error {
method constructor (line 2261) | constructor(msg, code) {
class ProcessSpawnError (line 2268) | class ProcessSpawnError extends MessageError {
method constructor (line 2269) | constructor(msg, code, process) {
class SecurityError (line 2276) | class SecurityError extends MessageError {}
class ProcessTermError (line 2279) | class ProcessTermError extends MessageError {}
class ResponseError (line 2282) | class ResponseError extends Error {
method constructor (line 2283) | constructor(msg, responseCode) {
class OneTimePasswordError (line 2290) | class OneTimePasswordError extends Error {}
function Subscriber (line 2327) | function Subscriber(destinationOrNext, error, complete) {
function SafeSubscriber (line 2441) | function SafeSubscriber(
function getPreferredCacheDirectories (line 2709) | function getPreferredCacheDirectories() {
function getYarnBinPath (line 2738) | function getYarnBinPath() {
function getPathKey (line 2782) | function getPathKey(platform, env) {
function compileStyleAliases (line 2889) | function compileStyleAliases(map) {
function Type (line 2903) | function Type(tag, options) {
function Observable (line 2983) | function Observable(subscribe) {
function getPromiseCtor (line 3123) | function getPromiseCtor(promiseCtor) {
function OuterSubscriber (line 3159) | function OuterSubscriber() {
function subscribeToResult (line 3195) | function subscribeToResult(
function _capitalize (line 3327) | function _capitalize(str) {
function _toss (line 3331) | function _toss(name, expected, oper, arg, actual) {
function _getClass (line 3341) | function _getClass(arg) {
function noop (line 3345) | function noop() {
function _setExports (line 3423) | function _setExports(ndebug) {
function sortAlpha (line 3573) | function sortAlpha(a, b) {
function sortOptionsByFlags (line 3586) | function sortOptionsByFlags(a, b) {
function entries (line 3592) | function entries(obj) {
function removePrefix (line 3602) | function removePrefix(pattern, prefix) {
function removeSuffix (line 3610) | function removeSuffix(pattern, suffix) {
function addSuffix (line 3618) | function addSuffix(pattern, suffix) {
function hyphenate (line 3626) | function hyphenate(str) {
function camelCase (line 3632) | function camelCase(str) {
function compareSortedArrays (line 3640) | function compareSortedArrays(array1, array2) {
function sleep (line 3652) | function sleep(ms) {
function _load_asyncToGenerator (line 3671) | function _load_asyncToGenerator() {
function _load_parse (line 3679) | function _load_parse() {
function _load_stringify (line 3692) | function _load_stringify() {
function _load_misc (line 3708) | function _load_misc() {
function _load_normalizePattern (line 3714) | function _load_normalizePattern() {
function _load_parse2 (line 3720) | function _load_parse2() {
function _load_constants (line 3726) | function _load_constants() {
function _load_fs (line 3732) | function _load_fs() {
function _interopRequireWildcard (line 3736) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 3752) | function _interopRequireDefault(obj) {
function getName (line 3761) | function getName(pattern) {
function blankObjectUndefined (line 3768) | function blankObjectUndefined(obj) {
function keyForRemote (line 3772) | function keyForRemote(remote) {
function serializeIntegrity (line 3781) | function serializeIntegrity(integrity) {
function implodeEntry (line 3787) | function implodeEntry(pattern, obj) {
function explodeEntry (line 3809) | function explodeEntry(pattern, obj) {
class Lockfile (line 3823) | class Lockfile {
method constructor (line 3824) | constructor({ cache, source, parseResultType } = {}) {
method hasEntriesExistWithoutIntegrity (line 3833) | hasEntriesExistWithoutIntegrity() {
method fromDirectory (line 3852) | static fromDirectory(dir, reporter) {
method getLocked (line 3899) | getLocked(pattern) {
method removePattern (line 3917) | removePattern(pattern) {
method getLockfile (line 3925) | getLockfile(patterns) {
function _interopRequireDefault (line 4015) | function _interopRequireDefault(obj) {
function parse (line 4378) | function parse(version, loose) {
function valid (line 4396) | function valid(version, loose) {
function clean (line 4402) | function clean(version, loose) {
function SemVer (line 4409) | function SemVer(version, loose) {
function inc (line 4609) | function inc(version, release, loose, identifier) {
function diff (line 4623) | function diff(version1, version2) {
function compareIdentifiers (line 4652) | function compareIdentifiers(a, b) {
function rcompareIdentifiers (line 4673) | function rcompareIdentifiers(a, b) {
function major (line 4678) | function major(a, loose) {
function minor (line 4683) | function minor(a, loose) {
function patch (line 4688) | function patch(a, loose) {
function compare (line 4693) | function compare(a, b, loose) {
function compareLoose (line 4698) | function compareLoose(a, b) {
function rcompare (line 4703) | function rcompare(a, b, loose) {
function sort (line 4708) | function sort(list, loose) {
function rsort (line 4715) | function rsort(list, loose) {
function gt (line 4722) | function gt(a, b, loose) {
function lt (line 4727) | function lt(a, b, loose) {
function eq (line 4732) | function eq(a, b, loose) {
function neq (line 4737) | function neq(a, b, loose) {
function gte (line 4742) | function gte(a, b, loose) {
function lte (line 4747) | function lte(a, b, loose) {
function cmp (line 4752) | function cmp(a, op, b, loose) {
function Comparator (line 4792) | function Comparator(comp, loose) {
function Range (line 4884) | function Range(range, loose) {
function toComparators (line 4997) | function toComparators(range, loose) {
function parseComparator (line 5012) | function parseComparator(comp, loose) {
function isX (line 5025) | function isX(id) {
function replaceTildes (line 5035) | function replaceTildes(comp, loose) {
function replaceTilde (line 5045) | function replaceTilde(comp, loose) {
function replaceCarets (line 5089) | function replaceCarets(comp, loose) {
function replaceCaret (line 5099) | function replaceCaret(comp, loose) {
function replaceXRanges (line 5187) | function replaceXRanges(comp, loose) {
function replaceXRange (line 5197) | function replaceXRange(comp, loose) {
function replaceStars (line 5258) | function replaceStars(comp, loose) {
function hyphenReplace (line 5269) | function hyphenReplace(
function testSet (line 5311) | function testSet(set, version) {
function satisfies (line 5345) | function satisfies(version, range, loose) {
function maxSatisfying (line 5355) | function maxSatisfying(versions, range, loose) {
function minSatisfying (line 5377) | function minSatisfying(versions, range, loose) {
function validRange (line 5399) | function validRange(range, loose) {
function ltr (line 5411) | function ltr(version, range, loose) {
function gtr (line 5417) | function gtr(version, range, loose) {
function outside (line 5422) | function outside(version, range, hilo, loose) {
function prerelease (line 5494) | function prerelease(version, loose) {
function intersects (line 5500) | function intersects(r1, r2, loose) {
function coerce (line 5507) | function coerce(version) {
function Subscription (line 5560) | function Subscription(unsubscribe) {
function flattenUnsubscriptionErrors (line 5752) | function flattenUnsubscriptionErrors(errors) {
function isCompatible (line 5805) | function isCompatible(obj, klass, needVer) {
function assertCompatible (line 5826) | function assertCompatible(obj, klass, needVer, name) {
function opensslKeyDeriv (line 5871) | function opensslKeyDeriv(cipher, salt, passphrase, count) {
function countZeros (line 5902) | function countZeros(buf) {
function bufferSplit (line 5917) | function bufferSplit(buf, chr) {
function ecNormalize (line 5941) | function ecNormalize(buf, addZero) {
function readBitString (line 5964) | function readBitString(der, tag) {
function writeBitString (line 5978) | function writeBitString(der, buf, tag) {
function mpNormalize (line 5986) | function mpNormalize(buf) {
function mpDenormalize (line 5999) | function mpDenormalize(buf) {
function zeroPadToLength (line 6005) | function zeroPadToLength(buf, len) {
function bigintToMpBuf (line 6021) | function bigintToMpBuf(bigint) {
function calculateDSAPublic (line 6027) | function calculateDSAPublic(g, p, x) {
function calculateED25519Public (line 6047) | function calculateED25519Public(k) {
function calculateX25519Public (line 6056) | function calculateX25519Public(k) {
function addRSAMissing (line 6065) | function addRSAMissing(key) {
function publicFromPrivateECDSA (line 6098) | function publicFromPrivateECDSA(curveName, priv) {
function opensshCipherInfo (line 6122) | function opensshCipherInfo(cipher) {
function Key (line 6201) | function Key(opts) {
function nullify (line 6445) | function nullify(obj = {}) {
function applyOptions (line 6511) | function applyOptions(obj, options) {
function Chalk (line 6520) | function Chalk(options) {
method get (line 6555) | get() {
method get (line 6568) | get() {
method get (line 6583) | get() {
method get (line 6617) | get() {
function build (line 6642) | function build(_styles, _empty, key) {
function applyStyle (line 6682) | function applyStyle() {
function chalkTag (line 6729) | function chalkTag(chalk, strings) {
function PrivateKey (line 7047) | function PrivateKey(opts) {
function _load_extends (line 7260) | function _load_extends() {
function _load_asyncToGenerator (line 7266) | function _load_asyncToGenerator() {
function _load_objectPath (line 7384) | function _load_objectPath() {
function _load_hooks (line 7390) | function _load_hooks() {
function _load_index (line 7396) | function _load_index() {
function _load_errors (line 7402) | function _load_errors() {
function _load_integrityChecker (line 7408) | function _load_integrityChecker() {
function _load_lockfile (line 7416) | function _load_lockfile() {
function _load_lockfile2 (line 7422) | function _load_lockfile2() {
function _load_packageFetcher (line 7428) | function _load_packageFetcher() {
function _load_packageInstallScripts (line 7436) | function _load_packageInstallScripts() {
function _load_packageCompatibility (line 7444) | function _load_packageCompatibility() {
function _load_packageResolver (line 7452) | function _load_packageResolver() {
function _load_packageLinker (line 7460) | function _load_packageLinker() {
function _load_index2 (line 7468) | function _load_index2() {
function _load_index3 (line 7474) | function _load_index3() {
function _load_autoclean (line 7480) | function _load_autoclean() {
function _load_constants (line 7486) | function _load_constants() {
function _load_normalizePattern (line 7492) | function _load_normalizePattern() {
function _load_fs (line 7498) | function _load_fs() {
function _load_map (line 7504) | function _load_map() {
function _load_yarnVersion (line 7510) | function _load_yarnVersion() {
function _load_generatePnpMap (line 7516) | function _load_generatePnpMap() {
function _load_workspaceLayout (line 7522) | function _load_workspaceLayout() {
function _load_resolutionMap (line 7530) | function _load_resolutionMap() {
function _load_guessName (line 7538) | function _load_guessName() {
function _load_audit (line 7544) | function _load_audit() {
function _interopRequireWildcard (line 7548) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 7564) | function _interopRequireDefault(obj) {
function getUpdateCommand (line 7583) | function getUpdateCommand(installationMethod) {
function getUpdateInstaller (line 7621) | function getUpdateInstaller(installationMethod) {
function normalizeFlags (line 7630) | function normalizeFlags(config, rawFlags) {
class Install (line 7687) | class Install {
method constructor (line 7688) | constructor(flags, config, reporter, lockfile) {
method fetchRequestFromCwd (line 7718) | fetchRequestFromCwd(
method prepareRequests (line 8230) | prepareRequests(requests) {
method preparePatterns (line 8234) | preparePatterns(patterns) {
method preparePatternsForLinking (line 8237) | preparePatternsForLinking(patterns, cwdManifest, cwdIsRoot) {
method prepareManifests (line 8241) | prepareManifests() {
method bailout (line 8252) | bailout(patterns, workspaceLayout) {
method createEmptyManifestFolders (line 8344) | createEmptyManifestFolders() {
method markIgnored (line 8390) | markIgnored(patterns) {
method getFlattenedDeps (line 8428) | getFlattenedDeps() {
method init (line 8454) | init() {
method checkCompatibility (line 8882) | checkCompatibility() {
method persistChanges (line 8898) | persistChanges() {
method applyChanges (line 8913) | applyChanges(manifests) {
method shouldClean (line 8949) | shouldClean() {
method flatten (line 8962) | flatten(patterns) {
method pruneOfflineMirror (line 9121) | pruneOfflineMirror(lockfile) {
method saveLockfileAndIntegrity (line 9189) | saveLockfileAndIntegrity(patterns, workspaceLayout) {
method _logSuccessSaveLockfile (line 9313) | _logSuccessSaveLockfile() {
method hydrate (line 9320) | hydrate(ignoreUnusedPatterns) {
method checkUpdate (line 9408) | checkUpdate() {
method _checkUpdate (line 9436) | _checkUpdate() {
method maybeOutputUpdate (line 9499) | maybeOutputUpdate() {}
function hasWrapper (line 9503) | function hasWrapper(commander, args) {
function setFlags (line 9507) | function setFlags(commander) {
function SubjectSubscriber (line 9588) | function SubjectSubscriber(destination) {
function Subject (line 9601) | function Subject() {
function AnonymousSubject (line 9723) | function AnonymousSubject(destination, source) {
function normalizePattern (line 9777) | function normalizePattern(pattern) {
function apply (line 10554) | function apply(func, thisArg, args) {
function arrayAggregator (line 10578) | function arrayAggregator(array, setter, iteratee, accumulator) {
function arrayEach (line 10598) | function arrayEach(array, iteratee) {
function arrayEachRight (line 10619) | function arrayEachRight(array, iteratee) {
function arrayEvery (line 10640) | function arrayEvery(array, predicate) {
function arrayFilter (line 10661) | function arrayFilter(array, predicate) {
function arrayIncludes (line 10685) | function arrayIncludes(array, value) {
function arrayIncludesWith (line 10699) | function arrayIncludesWith(array, value, comparator) {
function arrayMap (line 10720) | function arrayMap(array, iteratee) {
function arrayPush (line 10739) | function arrayPush(array, values) {
function arrayReduce (line 10762) | function arrayReduce(array, iteratee, accumulator, initAccum) {
function arrayReduceRight (line 10787) | function arrayReduceRight(array, iteratee, accumulator, initAccum) {
function arraySome (line 10808) | function arraySome(array, predicate) {
function asciiToArray (line 10836) | function asciiToArray(string) {
function asciiWords (line 10847) | function asciiWords(string) {
function baseFindKey (line 10862) | function baseFindKey(collection, predicate, eachFunc) {
function baseFindIndex (line 10884) | function baseFindIndex(array, predicate, fromIndex, fromRight) {
function baseIndexOf (line 10905) | function baseIndexOf(array, value, fromIndex) {
function baseIndexOfWith (line 10921) | function baseIndexOfWith(array, value, fromIndex, comparator) {
function baseIsNaN (line 10940) | function baseIsNaN(value) {
function baseMean (line 10953) | function baseMean(array, iteratee) {
function baseProperty (line 10965) | function baseProperty(key) {
function basePropertyOf (line 10978) | function basePropertyOf(object) {
function baseReduce (line 10997) | function baseReduce(
function baseSortBy (line 11022) | function baseSortBy(array, comparer) {
function baseSum (line 11041) | function baseSum(array, iteratee) {
function baseTimes (line 11064) | function baseTimes(n, iteratee) {
function baseToPairs (line 11083) | function baseToPairs(object, props) {
function baseUnary (line 11096) | function baseUnary(func) {
function baseValues (line 11112) | function baseValues(object, props) {
function cacheHas (line 11126) | function cacheHas(cache, key) {
function charsStartIndex (line 11139) | function charsStartIndex(strSymbols, chrSymbols) {
function charsEndIndex (line 11159) | function charsEndIndex(strSymbols, chrSymbols) {
function countHolders (line 11177) | function countHolders(array, placeholder) {
function escapeStringChar (line 11215) | function escapeStringChar(chr) {
function getValue (line 11227) | function getValue(object, key) {
function hasUnicode (line 11238) | function hasUnicode(string) {
function hasUnicodeWord (line 11249) | function hasUnicodeWord(string) {
function iteratorToArray (line 11260) | function iteratorToArray(iterator) {
function mapToArray (line 11277) | function mapToArray(map) {
function overArg (line 11295) | function overArg(func, transform) {
function replaceHolders (line 11310) | function replaceHolders(array, placeholder) {
function safeGet (line 11334) | function safeGet(object, key) {
function setToArray (line 11345) | function setToArray(set) {
function setToPairs (line 11362) | function setToPairs(set) {
function strictIndexOf (line 11382) | function strictIndexOf(array, value, fromIndex) {
function strictLastIndexOf (line 11404) | function strictLastIndexOf(array, value, fromIndex) {
function stringSize (line 11421) | function stringSize(string) {
function stringToArray (line 11432) | function stringToArray(string) {
function unicodeSize (line 11454) | function unicodeSize(string) {
function unicodeToArray (line 11469) | function unicodeToArray(string) {
function unicodeWords (line 11480) | function unicodeWords(string) {
function lodash (line 11777) | function lodash(value) {
function object (line 11802) | function object() {}
function baseLodash (line 11822) | function baseLodash() {
function LodashWrapper (line 11833) | function LodashWrapper(value, chainAll) {
function LazyWrapper (line 11916) | function LazyWrapper(value) {
function lazyClone (line 11934) | function lazyClone() {
function lazyReverse (line 11953) | function lazyReverse() {
function lazyValue (line 11973) | function lazyValue() {
function Hash (line 12037) | function Hash(entries) {
method isHash (line 30731) | get isHash() {
method constructor (line 30734) | constructor(hash, opts) {
method hexDigest (line 30754) | hexDigest() {
method toJSON (line 30759) | toJSON() {
method toString (line 30762) | toString(opts) {
function hashClear (line 12055) | function hashClear() {
function hashDelete (line 12070) | function hashDelete(key) {
function hashGet (line 12085) | function hashGet(key) {
function hashHas (line 12103) | function hashHas(key) {
function hashSet (line 12120) | function hashSet(key, value) {
function ListCache (line 12144) | function ListCache(entries) {
function listCacheClear (line 12162) | function listCacheClear() {
function listCacheDelete (line 12176) | function listCacheDelete(key) {
function listCacheGet (line 12202) | function listCacheGet(key) {
function listCacheHas (line 12218) | function listCacheHas(key) {
function listCacheSet (line 12232) | function listCacheSet(key, value) {
function MapCache (line 12261) | function MapCache(entries) {
function mapCacheClear (line 12279) | function mapCacheClear() {
function mapCacheDelete (line 12297) | function mapCacheDelete(key) {
function mapCacheGet (line 12312) | function mapCacheGet(key) {
function mapCacheHas (line 12325) | function mapCacheHas(key) {
function mapCacheSet (line 12339) | function mapCacheSet(key, value) {
function SetCache (line 12365) | function SetCache(values) {
function setCacheAdd (line 12385) | function setCacheAdd(value) {
function setCacheHas (line 12399) | function setCacheHas(value) {
function Stack (line 12416) | function Stack(entries) {
function stackClear (line 12428) | function stackClear() {
function stackDelete (line 12442) | function stackDelete(key) {
function stackGet (line 12459) | function stackGet(key) {
function stackHas (line 12472) | function stackHas(key) {
function stackSet (line 12486) | function stackSet(key, value) {
function arrayLikeKeys (line 12519) | function arrayLikeKeys(value, inherited) {
function arraySample (line 12559) | function arraySample(array) {
function arraySampleSize (line 12572) | function arraySampleSize(array, n) {
function arrayShuffle (line 12586) | function arrayShuffle(array) {
function assignMergeValue (line 12599) | function assignMergeValue(object, key, value) {
function assignValue (line 12618) | function assignValue(object, key, value) {
function assocIndexOf (line 12636) | function assocIndexOf(array, key) {
function baseAggregator (line 12657) | function baseAggregator(collection, setter, iteratee, accumulator) {
function baseAssign (line 12673) | function baseAssign(object, source) {
function baseAssignIn (line 12686) | function baseAssignIn(object, source) {
function baseAssignValue (line 12699) | function baseAssignValue(object, key, value) {
function baseAt (line 12720) | function baseAt(object, paths) {
function baseClamp (line 12741) | function baseClamp(number, lower, upper) {
function baseClone (line 12769) | function baseClone(value, bitmask, customizer, key, object, stack) {
function baseConforms (line 12880) | function baseConforms(source) {
function baseConformsTo (line 12895) | function baseConformsTo(object, source, props) {
function baseDelay (line 12926) | function baseDelay(func, wait, args) {
function baseDifference (line 12946) | function baseDifference(array, values, iteratee, comparator) {
function baseEvery (line 13017) | function baseEvery(collection, predicate) {
function baseExtremum (line 13036) | function baseExtremum(array, iteratee, comparator) {
function baseFill (line 13067) | function baseFill(array, value, start, end) {
function baseFilter (line 13093) | function baseFilter(collection, predicate) {
function baseFlatten (line 13114) | function baseFlatten(array, depth, predicate, isStrict, result) {
function baseForOwn (line 13170) | function baseForOwn(object, iteratee) {
function baseForOwnRight (line 13182) | function baseForOwnRight(object, iteratee) {
function baseFunctions (line 13195) | function baseFunctions(object, props) {
function baseGet (line 13209) | function baseGet(object, path) {
function baseGetAllKeys (line 13232) | function baseGetAllKeys(object, keysFunc, symbolsFunc) {
function baseGetTag (line 13246) | function baseGetTag(value) {
function baseGt (line 13264) | function baseGt(value, other) {
function baseHas (line 13276) | function baseHas(object, key) {
function baseHasIn (line 13288) | function baseHasIn(object, key) {
function baseInRange (line 13301) | function baseInRange(number, start, end) {
function baseIntersection (line 13318) | function baseIntersection(arrays, iteratee, comparator) {
function baseInverter (line 13385) | function baseInverter(object, setter, iteratee, accumulator) {
function baseInvoke (line 13402) | function baseInvoke(object, path, args) {
function baseIsArguments (line 13416) | function baseIsArguments(value) {
function baseIsArrayBuffer (line 13427) | function baseIsArrayBuffer(value) {
function baseIsDate (line 13438) | function baseIsDate(value) {
function baseIsEqual (line 13456) | function baseIsEqual(value, other, bitmask, customizer, stack) {
function baseIsEqualDeep (line 13491) | function baseIsEqualDeep(
function baseIsMap (line 13580) | function baseIsMap(value) {
function baseIsMatch (line 13594) | function baseIsMatch(object, source, matchData, customizer) {
function baseIsNative (line 13661) | function baseIsNative(value) {
function baseIsRegExp (line 13676) | function baseIsRegExp(value) {
function baseIsSet (line 13687) | function baseIsSet(value) {
function baseIsTypedArray (line 13698) | function baseIsTypedArray(value) {
function baseIteratee (line 13713) | function baseIteratee(value) {
function baseKeys (line 13737) | function baseKeys(object) {
function baseKeysIn (line 13757) | function baseKeysIn(object) {
function baseLt (line 13786) | function baseLt(value, other) {
function baseMap (line 13798) | function baseMap(collection, iteratee) {
function baseMatches (line 13817) | function baseMatches(source) {
function baseMatchesProperty (line 13840) | function baseMatchesProperty(path, srcValue) {
function baseMerge (line 13867) | function baseMerge(object, source, srcIndex, customizer, stack) {
function baseMergeDeep (line 13922) | function baseMergeDeep(
function baseNth (line 14003) | function baseNth(array, n) {
function baseOrderBy (line 14021) | function baseOrderBy(collection, iteratees, orders) {
function basePick (line 14052) | function basePick(object, paths) {
function basePickBy (line 14067) | function basePickBy(object, paths, predicate) {
function basePropertyDeep (line 14090) | function basePropertyDeep(path) {
function basePullAll (line 14107) | function basePullAll(array, values, iteratee, comparator) {
function basePullAt (line 14146) | function basePullAt(array, indexes) {
function baseRandom (line 14173) | function baseRandom(lower, upper) {
function baseRange (line 14188) | function baseRange(start, end, step, fromRight) {
function baseRepeat (line 14208) | function baseRepeat(string, n) {
function baseRest (line 14236) | function baseRest(func, start) {
function baseSample (line 14247) | function baseSample(collection) {
function baseSampleSize (line 14259) | function baseSampleSize(collection, n) {
function baseSet (line 14274) | function baseSet(object, path, value, customizer) {
function baseShuffle (line 14349) | function baseShuffle(collection) {
function baseSlice (line 14362) | function baseSlice(array, start, end) {
function baseSome (line 14392) | function baseSome(collection, predicate) {
function baseSortedIndex (line 14414) | function baseSortedIndex(array, value, retHighest) {
function baseSortedIndexBy (line 14455) | function baseSortedIndexBy(array, value, iteratee, retHighest) {
function baseSortedUniq (line 14511) | function baseSortedUniq(array, iteratee) {
function baseToNumber (line 14537) | function baseToNumber(value) {
function baseToString (line 14555) | function baseToString(value) {
function baseUniq (line 14580) | function baseUniq(array, iteratee, comparator) {
function baseUnset (line 14636) | function baseUnset(object, path) {
function baseUpdate (line 14652) | function baseUpdate(object, path, updater, customizer) {
function baseWhile (line 14672) | function baseWhile(array, predicate, isDrop, fromRight) {
function baseWrapperValue (line 14704) | function baseWrapperValue(value, actions) {
function baseXor (line 14731) | function baseXor(arrays, iteratee, comparator) {
function baseZipObject (line 14766) | function baseZipObject(props, values, assignFunc) {
function castArrayLikeObject (line 14786) | function castArrayLikeObject(value) {
function castFunction (line 14797) | function castFunction(value) {
function castPath (line 14809) | function castPath(value, object) {
function castSlice (line 14838) | function castSlice(array, start, end) {
function cloneBuffer (line 14866) | function cloneBuffer(buffer, isDeep) {
function cloneArrayBuffer (line 14886) | function cloneArrayBuffer(arrayBuffer) {
function cloneDataView (line 14900) | function cloneDataView(dataView, isDeep) {
function cloneRegExp (line 14918) | function cloneRegExp(regexp) {
function cloneSymbol (line 14934) | function cloneSymbol(symbol) {
function cloneTypedArray (line 14946) | function cloneTypedArray(typedArray, isDeep) {
function compareAscending (line 14965) | function compareAscending(value, other) {
function compareMultiple (line 15027) | function compareMultiple(object, other, orders) {
function composeArgs (line 15068) | function composeArgs(args, partials, holders, isCurried) {
function composeArgsRight (line 15103) | function composeArgsRight(args, partials, holders, isCurried) {
function copyArray (line 15137) | function copyArray(source, array) {
function copyObject (line 15158) | function copyObject(source, props, object, customizer) {
function copySymbols (line 15192) | function copySymbols(source, object) {
function copySymbolsIn (line 15204) | function copySymbolsIn(source, object) {
function createAggregator (line 15216) | function createAggregator(setter, initializer) {
function createAssigner (line 15239) | function createAssigner(assigner) {
function createBaseEach (line 15274) | function createBaseEach(eachFunc, fromRight) {
function createBaseFor (line 15302) | function createBaseFor(fromRight) {
function createBind (line 15329) | function createBind(func, bitmask, thisArg) {
function createCaseFirst (line 15350) | function createCaseFirst(methodName) {
function createCompounder (line 15375) | function createCompounder(callback) {
function createCtor (line 15393) | function createCtor(Ctor) {
function createCurry (line 15456) | function createCurry(func, bitmask, arity) {
function createFind (line 15506) | function createFind(findIndexFunc) {
function createFlow (line 15530) | function createFlow(fromRight) {
function createHybrid (line 15614) | function createHybrid(
function createInverter (line 15700) | function createInverter(setter, toIteratee) {
function createMathOperation (line 15714) | function createMathOperation(operator, defaultValue) {
function createOver (line 15747) | function createOver(arrayFunc) {
function createPadding (line 15768) | function createPadding(length, chars) {
function createPartial (line 15796) | function createPartial(func, bitmask, thisArg, partials) {
function createRange (line 15829) | function createRange(fromRight) {
function createRelationalOperation (line 15859) | function createRelationalOperation(operator) {
function createRecurry (line 15886) | function createRecurry(
function createRound (line 15940) | function createRound(methodName) {
function createToPairs (line 15981) | function createToPairs(keysFunc) {
function createWrap (line 16019) | function createWrap(
function customDefaultsAssignIn (line 16116) | function customDefaultsAssignIn(objValue, srcValue, key, object) {
function customDefaultsMerge (line 16141) | function customDefaultsMerge(
function customOmitClone (line 16173) | function customOmitClone(value) {
function equalArrays (line 16190) | function equalArrays(
function equalByTag (line 16299) | function equalByTag(
function equalObjects (line 16400) | function equalObjects(
function flatRest (line 16489) | function flatRest(func) {
function getAllKeys (line 16500) | function getAllKeys(object) {
function getAllKeysIn (line 16512) | function getAllKeysIn(object) {
function getFuncName (line 16536) | function getFuncName(func) {
function getHolder (line 16560) | function getHolder(func) {
function getIteratee (line 16578) | function getIteratee() {
function getMapData (line 16594) | function getMapData(map, key) {
function getMatchData (line 16608) | function getMatchData(object) {
function getNative (line 16629) | function getNative(object, key) {
function getRawTag (line 16641) | function getRawTag(value) {
function getView (line 16752) | function getView(start, end, transforms) {
function getWrapDetails (line 16785) | function getWrapDetails(source) {
function hasPath (line 16799) | function hasPath(object, path, hasFunc) {
function initCloneArray (line 16832) | function initCloneArray(array) {
function initCloneObject (line 16855) | function initCloneObject(object) {
function initCloneByTag (line 16874) | function initCloneByTag(object, tag, isDeep) {
function insertWrapDetails (line 16924) | function insertWrapDetails(source, details) {
function isFlattenable (line 16946) | function isFlattenable(value) {
function isIndex (line 16962) | function isIndex(value, length) {
function isIterateeCall (line 16986) | function isIterateeCall(value, index, object) {
function isKey (line 17009) | function isKey(value, object) {
function isKeyable (line 17037) | function isKeyable(value) {
function isLaziable (line 17055) | function isLaziable(func) {
function isMasked (line 17079) | function isMasked(func) {
function isPrototype (line 17099) | function isPrototype(value) {
function isStrictComparable (line 17115) | function isStrictComparable(value) {
function matchesStrictComparable (line 17128) | function matchesStrictComparable(key, srcValue) {
function memoizeCapped (line 17148) | function memoizeCapped(func) {
function mergeData (line 17176) | function mergeData(data, source) {
function nativeKeysIn (line 17256) | function nativeKeysIn(object) {
function objectToString (line 17273) | function objectToString(value) {
function overRest (line 17286) | function overRest(func, start, transform) {
function parent (line 17318) | function parent(object, path) {
function reorder (line 17334) | function reorder(array, indexes) {
function setWrapToString (line 17398) | function setWrapToString(wrapper, reference, bitmask) {
function shortOut (line 17418) | function shortOut(func) {
function shuffleSelf (line 17446) | function shuffleSelf(array, size) {
function toKey (line 17495) | function toKey(value) {
function toSource (line 17510) | function toSource(func) {
function updateWrapDetails (line 17530) | function updateWrapDetails(details, bitmask) {
function wrapperClone (line 17547) | function wrapperClone(wrapper) {
function chunk (line 17584) | function chunk(array, size, guard) {
function compact (line 17621) | function compact(array) {
function concat (line 17658) | function concat() {
function drop (line 17809) | function drop(array, n, guard) {
function dropRight (line 17843) | function dropRight(array, n, guard) {
function dropRightWhile (line 17888) | function dropRightWhile(array, predicate) {
function dropWhile (line 17929) | function dropWhile(array, predicate) {
function fill (line 17964) | function fill(array, value, start, end) {
function findIndex (line 18015) | function findIndex(array, predicate, fromIndex) {
function findLastIndex (line 18062) | function findLastIndex(array, predicate, fromIndex) {
function flatten (line 18097) | function flatten(array) {
function flattenDeep (line 18116) | function flattenDeep(array) {
function flattenDepth (line 18141) | function flattenDepth(array, depth) {
function fromPairs (line 18165) | function fromPairs(pairs) {
function head (line 18195) | function head(array) {
function indexOf (line 18222) | function indexOf(array, value, fromIndex) {
function initial (line 18248) | function initial(array) {
function join (line 18364) | function join(array, separator) {
function last (line 18382) | function last(array) {
function lastIndexOf (line 18408) | function lastIndexOf(array, value, fromIndex) {
function nth (line 18447) | function nth(array, n) {
function pullAll (line 18498) | function pullAll(array, values) {
function pullAllBy (line 18527) | function pullAllBy(array, values, iteratee) {
function pullAllWith (line 18556) | function pullAllWith(array, values, comparator) {
function remove (line 18628) | function remove(array, predicate) {
function reverse (line 18672) | function reverse(array) {
function slice (line 18692) | function slice(array, start, end) {
function sortedIndex (line 18728) | function sortedIndex(array, value) {
function sortedIndexBy (line 18757) | function sortedIndexBy(array, value, iteratee) {
function sortedIndexOf (line 18777) | function sortedIndexOf(array, value) {
function sortedLastIndex (line 18806) | function sortedLastIndex(array, value) {
function sortedLastIndexBy (line 18835) | function sortedLastIndexBy(array, value, iteratee) {
function sortedLastIndexOf (line 18860) | function sortedLastIndexOf(array, value) {
function sortedUniq (line 18886) | function sortedUniq(array) {
function sortedUniqBy (line 18906) | function sortedUniqBy(array, iteratee) {
function tail (line 18926) | function tail(array) {
function take (line 18956) | function take(array, n, guard) {
function takeRight (line 18989) | function takeRight(array, n, guard) {
function takeRightWhile (line 19034) | function takeRightWhile(array, predicate) {
function takeWhile (line 19075) | function takeWhile(array, predicate) {
function uniq (line 19185) | function uniq(array) {
function uniqBy (line 19212) | function uniqBy(array, iteratee) {
function uniqWith (line 19238) | function uniqWith(array, comparator) {
function unzip (line 19265) | function unzip(array) {
function unzipWith (line 19302) | function unzipWith(array, iteratee) {
function zipObject (line 19463) | function zipObject(props, values) {
function zipObjectDeep (line 19482) | function zipObjectDeep(props, values) {
function chain (line 19548) | function chain(value) {
function tap (line 19577) | function tap(value, interceptor) {
function thru (line 19605) | function thru(value, interceptor) {
function wrapperChain (line 19684) | function wrapperChain() {
function wrapperCommit (line 19714) | function wrapperCommit() {
function wrapperNext (line 19740) | function wrapperNext() {
function wrapperToIterator (line 19768) | function wrapperToIterator() {
function wrapperPlant (line 19796) | function wrapperPlant(value) {
function wrapperReverse (line 19836) | function wrapperReverse() {
function wrapperValue (line 19868) | function wrapperValue() {
function every (line 19945) | function every(collection, predicate, guard) {
function filter (line 19990) | function filter(collection, predicate) {
function flatMap (line 20075) | function flatMap(collection, iteratee) {
function flatMapDeep (line 20099) | function flatMapDeep(collection, iteratee) {
function flatMapDepth (line 20124) | function flatMapDepth(collection, iteratee, depth) {
function forEach (line 20159) | function forEach(collection, iteratee) {
function forEachRight (line 20184) | function forEachRight(collection, iteratee) {
function includes (line 20250) | function includes(collection, value, fromIndex, guard) {
function map (line 20378) | function map(collection, iteratee) {
function orderBy (line 20412) | function orderBy(collection, iteratees, orders, guard) {
function reduce (line 20508) | function reduce(collection, iteratee, accumulator) {
function reduceRight (line 20543) | function reduceRight(collection, iteratee, accumulator) {
function reject (line 20590) | function reject(collection, predicate) {
function sample (line 20609) | function sample(collection) {
function sampleSize (line 20634) | function sampleSize(collection, n, guard) {
function shuffle (line 20661) | function shuffle(collection) {
function size (line 20687) | function size(collection) {
function some (line 20739) | function some(collection, predicate, guard) {
function after (line 20845) | function after(n, func) {
function ary (line 20874) | function ary(func, n, guard) {
function before (line 20905) | function before(n, func) {
function curry (line 21061) | function curry(func, arity, guard) {
function curryRight (line 21115) | function curryRight(func, arity, guard) {
function debounce (line 21185) | function debounce(func, wait, options) {
function flip (line 21379) | function flip(func) {
function memoize (line 21427) | function memoize(func, resolver) {
function negate (line 21473) | function negate(predicate) {
function once (line 21511) | function once(func) {
function rest (line 21712) | function rest(func, start) {
function spread (line 21754) | function spread(func, start) {
function throttle (line 21814) | function throttle(func, wait, options) {
function unary (line 21848) | function unary(func) {
function wrap (line 21874) | function wrap(value, wrapper) {
function castArray (line 21913) | function castArray() {
function clone (line 21947) | function clone(value) {
function cloneWith (line 21982) | function cloneWith(value, customizer) {
function cloneDeep (line 22006) | function cloneDeep(value) {
function cloneDeepWith (line 22038) | function cloneDeepWith(value, customizer) {
function conformsTo (line 22072) | function conformsTo(object, source) {
function eq (line 22110) | function eq(value, other) {
function isArrayLike (line 22269) | function isArrayLike(value) {
function isArrayLikeObject (line 22300) | function isArrayLikeObject(value) {
function isBoolean (line 22321) | function isBoolean(value) {
function isElement (line 22384) | function isElement(value) {
function isEmpty (line 22425) | function isEmpty(value) {
function isEqual (line 22483) | function isEqual(value, other) {
function isEqualWith (line 22519) | function isEqualWith(value, other, customizer) {
function isError (line 22546) | function isError(value) {
function isFinite (line 22586) | function isFinite(value) {
function isFunction (line 22607) | function isFunction(value) {
function isInteger (line 22648) | function isInteger(value) {
function isLength (line 22678) | function isLength(value) {
function isObject (line 22712) | function isObject(value) {
function isObjectLike (line 22741) | function isObjectLike(value) {
function isMatch (line 22792) | function isMatch(object, source) {
function isMatchWith (line 22831) | function isMatchWith(object, source, customizer) {
function isNaN (line 22870) | function isNaN(value) {
function isNative (line 22903) | function isNative(value) {
function isNull (line 22927) | function isNull(value) {
function isNil (line 22951) | function isNil(value) {
function isNumber (line 22981) | function isNumber(value) {
function isPlainObject (line 23016) | function isPlainObject(value) {
function isSafeInteger (line 23081) | function isSafeInteger(value) {
function isString (line 23125) | function isString(value) {
function isSymbol (line 23151) | function isSymbol(value) {
function isUndefined (line 23196) | function isUndefined(value) {
function isWeakMap (line 23217) | function isWeakMap(value) {
function isWeakSet (line 23238) | function isWeakSet(value) {
function toArray (line 23317) | function toArray(value) {
function toFinite (line 23363) | function toFinite(value) {
function toInteger (line 23401) | function toInteger(value) {
function toLength (line 23439) | function toLength(value) {
function toNumber (line 23468) | function toNumber(value) {
function toPlainObject (line 23516) | function toPlainObject(value) {
function toSafeInteger (line 23544) | function toSafeInteger(value) {
function toString (line 23577) | function toString(value) {
function create (line 23790) | function create(prototype, properties) {
function findKey (line 23911) | function findKey(object, predicate) {
function findLastKey (line 23950) | function findLastKey(object, predicate) {
function forIn (line 23986) | function forIn(object, iteratee) {
function forInRight (line 24018) | function forInRight(object, iteratee) {
function forOwn (line 24052) | function forOwn(object, iteratee) {
function forOwnRight (line 24082) | function forOwnRight(object, iteratee) {
function functions (line 24111) | function functions(object) {
function functionsIn (line 24138) | function functionsIn(object) {
function get (line 24169) | function get(object, path, defaultValue) {
function has (line 24201) | function has(object, path) {
function hasIn (line 24231) | function hasIn(object, path) {
function keys (line 24347) | function keys(object) {
function keysIn (line 24376) | function keysIn(object) {
function mapKeys (line 24403) | function mapKeys(object, iteratee) {
function mapValues (line 24441) | function mapValues(object, iteratee) {
function omitBy (line 24592) | function omitBy(object, predicate) {
function pickBy (line 24635) | function pickBy(object, predicate) {
function result (line 24677) | function result(object, path, defaultValue) {
function set (line 24728) | function set(object, path, value) {
function setWith (line 24756) | function setWith(object, path, value, customizer) {
function transform (line 24846) | function transform(object, iteratee, accumulator) {
function unset (line 24899) | function unset(object, path) {
function update (line 24930) | function update(object, path, updater) {
function updateWith (line 24960) | function updateWith(object, path, updater, customizer) {
function values (line 24994) | function values(object) {
function valuesIn (line 25022) | function valuesIn(object) {
function clamp (line 25047) | function clamp(number, lower, upper) {
function inRange (line 25101) | function inRange(number, start, end) {
function random (line 25144) | function random(lower, upper, floating) {
function capitalize (line 25234) | function capitalize(string) {
function deburr (line 25256) | function deburr(string) {
function endsWith (line 25287) | function endsWith(string, target, position) {
function escape (line 25330) | function escape(string) {
function escapeRegExp (line 25352) | function escapeRegExp(string) {
function pad (line 25450) | function pad(string, length, chars) {
function padEnd (line 25489) | function padEnd(string, length, chars) {
function padStart (line 25522) | function padStart(string, length, chars) {
function parseInt (line 25556) | function parseInt(string, radix, guard) {
function repeat (line 25590) | function repeat(string, n, guard) {
function replace (line 25618) | function replace() {
function split (line 25671) | function split(string, separator, limit) {
function startsWith (line 25745) | function startsWith(string, target, position) {
function template (line 25860) | function template(string, options, guard) {
function toLower (line 26021) | function toLower(value) {
function toUpper (line 26046) | function toUpper(value) {
function trim (line 26072) | function trim(string, chars, guard) {
function trimEnd (line 26107) | function trimEnd(string, chars, guard) {
function trimStart (line 26140) | function trimStart(string, chars, guard) {
function truncate (line 26191) | function truncate(string, options) {
function unescape (line 26274) | function unescape(string) {
function words (line 26343) | function words(string, pattern, guard) {
function cond (line 26450) | function cond(pairs) {
function conforms (line 26498) | function conforms(source) {
function constant (line 26521) | function constant(value) {
function defaultTo (line 26547) | function defaultTo(value, defaultValue) {
function identity (line 26614) | function identity(value) {
function iteratee (line 26660) | function iteratee(func) {
function matches (line 26696) | function matches(source) {
function matchesProperty (line 26726) | function matchesProperty(path, srcValue) {
function mixin (line 26828) | function mixin(object, source, options) {
function noConflict (line 26889) | function noConflict() {
function noop (line 26908) | function noop() {
function nthArg (line 26932) | function nthArg(n) {
function property (line 27033) | function property(path) {
function propertyOf (line 27060) | function propertyOf(object) {
function stubArray (line 27165) | function stubArray() {
function stubFalse (line 27182) | function stubFalse() {
function stubObject (line 27204) | function stubObject() {
function stubString (line 27221) | function stubString() {
function stubTrue (line 27238) | function stubTrue() {
function times (line 27261) | function times(n, iteratee) {
function toPath (line 27296) | function toPath(value) {
function uniqueId (line 27322) | function uniqueId(prefix) {
function max (line 27431) | function max(array) {
function maxBy (line 27460) | function maxBy(array, iteratee) {
function mean (line 27480) | function mean(array) {
function meanBy (line 27507) | function meanBy(array, iteratee) {
function min (line 27529) | function min(array) {
function minBy (line 27558) | function minBy(array, iteratee) {
function sum (line 27643) | function sum(array) {
function sumBy (line 27670) | function sumBy(array, iteratee) {
function empty (line 28349) | function empty(scheduler) {
function emptyScheduled (line 28352) | function emptyScheduled(scheduler) {
function isNothing (line 28428) | function isNothing(subject) {
function isObject (line 28432) | function isObject(subject) {
function toArray (line 28436) | function toArray(sequence) {
function extend (line 28443) | function extend(target, source) {
function repeat (line 28462) | function repeat(string, count) {
function isNegativeZero (line 28473) | function isNegativeZero(number) {
function compileList (line 28496) | function compileList(schema, name, result) {
function compileMap (line 28521) | function compileMap(/* lists... */) {
function Schema (line 28541) | function Schema(definition) {
function copyProps (line 28624) | function copyProps(src, dst) {
function SafeBuffer (line 28642) | function SafeBuffer(arg, encodingOrOffset, length) {
function map (line 28706) | function map(project, thisArg) {
function MapOperator (line 28717) | function MapOperator(project, thisArg) {
function MapSubscriber (line 28734) | function MapSubscriber(destination, project, thisArg) {
function isScheduler (line 28778) | function isScheduler(value) {
function _load_constants (line 28800) | function _load_constants() {
function _load_blockingQueue (line 28806) | function _load_blockingQueue() {
function _load_errors (line 28814) | function _load_errors() {
function _load_promise (line 28820) | function _load_promise() {
function _interopRequireDefault (line 28824) | function _interopRequireDefault(obj) {
function _interopRequireWildcard (line 28828) | function _interopRequireWildcard(obj) {
function validate (line 28861) | function validate(program, opts = {}) {
function forkp (line 28901) | function forkp(program, args, opts) {
function spawnp (line 28918) | function spawnp(program, args, opts) {
function forwardSignalToSpawnedProcesses (line 28937) | function forwardSignalToSpawnedProcesses(signal) {
function spawn (line 28963) | function spawn(program, args, opts = {}, onData) {
function wait (line 29068) | function wait(delay) {
function promisify (line 29074) | function promisify(fn, firstData) {
function queue (line 29101) | function queue(arr, promiseProducer, concurrency = Infinity) {
function YAMLException (line 29175) | function YAMLException(reason, mark) {
function tryCatcher (line 29249) | function tryCatcher() {
function tryCatch (line 29260) | function tryCatch(fn) {
function _load_yarnRegistry (line 29279) | function _load_yarnRegistry() {
function _load_npmRegistry (line 29287) | function _load_npmRegistry() {
function _interopRequireDefault (line 29291) | function _interopRequireDefault(obj) {
function _load_asyncToGenerator (line 29314) | function _load_asyncToGenerator() {
function setFlags (line 29384) | function setFlags(commander) {
function hasWrapper (line 29390) | function hasWrapper(commander, args) {
function _load_errors (line 29403) | function _load_errors() {
function _load_misc (line 29409) | function _load_misc() {
function _interopRequireDefault (line 29413) | function _interopRequireDefault(obj) {
function from (line 29541) | function from(input, scheduler) {
class Hash (line 30730) | class Hash {
method isHash (line 30731) | get isHash() {
method constructor (line 30734) | constructor(hash, opts) {
method hexDigest (line 30754) | hexDigest() {
method toJSON (line 30759) | toJSON() {
method toString (line 30762) | toString(opts) {
class Integrity (line 30795) | class Integrity {
method isIntegrity (line 30796) | get isIntegrity() {
method toJSON (line 30799) | toJSON() {
method toString (line 30802) | toString(opts) {
method concat (line 30821) | concat(integrity, opts) {
method hexDigest (line 30828) | hexDigest() {
method match (line 30831) | match(integrity, opts) {
method pickAlgorithm (line 30843) | pickAlgorithm(opts) {
function parse (line 30859) | function parse(sri, opts) {
function _parse (line 30872) | function _parse(integrity, opts) {
function stringify (line 30895) | function stringify(obj, opts) {
function fromHex (line 30906) | function fromHex(hexDigest, algorithm, opts) {
function fromData (line 30920) | function fromData(data, opts) {
function fromStream (line 30942) | function fromStream(stream, opts) {
function checkData (line 30960) | function checkData(data, sri, opts) {
function checkStream (line 31007) | function checkStream(stream, sri, opts) {
function integrityStream (line 31029) | function integrityStream(opts) {
function createIntegrity (line 31096) | function createIntegrity(opts) {
function getPrioritizedHash (line 31152) | function getPrioritizedHash(algo1, algo2) {
function _load_rootUser (line 31193) | function _load_rootUser() {
function _interopRequireDefault (line 31197) | function _interopRequireDefault(obj) {
function FingerprintFormatError (line 31328) | function FingerprintFormatError(fp, format) {
function InvalidAlgorithmError (line 31340) | function InvalidAlgorithmError(alg) {
function KeyParseError (line 31349) | function KeyParseError(name, format, innerErr) {
function SignatureParseError (line 31366) | function SignatureParseError(type, format, innerErr) {
function CertificateParseError (line 31383) | function CertificateParseError(name, format, innerErr) {
function KeyEncryptedError (line 31400) | function KeyEncryptedError(name, format) {
function Signature (line 31446) | function Signature(opts) {
function parseOneNum (line 31605) | function parseOneNum(data, type, format, opts) {
function parseDSAasn1 (line 31652) | function parseDSAasn1(data, type, format, opts) {
function parseDSA (line 31664) | function parseDSA(data, type, format, opts) {
function parseECDSA (line 31678) | function parseECDSA(data, type, format, opts) {
function ts64 (line 31793) | function ts64(x, i, h, l) {
function vn (line 31804) | function vn(x, xi, y, yi, n) {
function crypto_verify_16 (line 31811) | function crypto_verify_16(x, xi, y, yi) {
function crypto_verify_32 (line 31815) | function crypto_verify_32(x, xi, y, yi) {
function core_salsa20 (line 31819) | function core_salsa20(o, p, k, c) {
function core_hsalsa20 (line 32090) | function core_hsalsa20(o, p, k, c) {
function crypto_core_salsa20 (line 32305) | function crypto_core_salsa20(out, inp, k, c) {
function crypto_core_hsalsa20 (line 32309) | function crypto_core_hsalsa20(out, inp, k, c) {
function crypto_stream_salsa20_xor (line 32319) | function crypto_stream_salsa20_xor(c, cpos, m, mpos, b, n, k) {
function crypto_stream_salsa20 (line 32345) | function crypto_stream_salsa20(c, cpos, b, n, k) {
function crypto_stream (line 32370) | function crypto_stream(c, cpos, d, n, k) {
function crypto_stream_xor (line 32378) | function crypto_stream_xor(c, cpos, m, mpos, d, n, k) {
function crypto_onetimeauth (line 32779) | function crypto_onetimeauth(out, outpos, m, mpos, n, k) {
function crypto_onetimeauth_verify (line 32786) | function crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) {
function crypto_secretbox (line 32792) | function crypto_secretbox(c, m, d, n, k) {
function crypto_secretbox_open (line 32801) | function crypto_secretbox_open(m, c, d, n, k) {
function set25519 (line 32813) | function set25519(r, a) {
function car25519 (line 32818) | function car25519(o) {
function sel25519 (line 32830) | function sel25519(p, q, b) {
function pack25519 (line 32840) | function pack25519(o, n) {
function neq25519 (line 32865) | function neq25519(a, b) {
function par25519 (line 32873) | function par25519(a) {
function unpack25519 (line 32879) | function unpack25519(o, n) {
function A (line 32885) | function A(o, a, b) {
function Z (line 32889) | function Z(o, a, b) {
function M (line 32893) | function M(o, a, b) {
function S (line 33356) | function S(o, a) {
function inv25519 (line 33360) | function inv25519(o, i) {
function pow2523 (line 33371) | function pow2523(o, i) {
function crypto_scalarmult (line 33382) | function crypto_scalarmult(q, n, p) {
function crypto_scalarmult_base (line 33441) | function crypto_scalarmult_base(q, n) {
function crypto_box_keypair (line 33445) | function crypto_box_keypair(y, x) {
function crypto_box_beforenm (line 33450) | function crypto_box_beforenm(k, y, x) {
function crypto_box (line 33459) | function crypto_box(c, m, d, n, y, x) {
function crypto_box_open (line 33465) | function crypto_box_open(m, c, d, n, y, x) {
function crypto_hashblocks_hl (line 33506) | function crypto_hashblocks_hl(hh, hl, m, n) {
function crypto_hash (line 33982) | function crypto_hash(out, m, n) {
function add (line 34023) | function add(p, q) {
function cswap (line 34055) | function cswap(p, q, b) {
function pack (line 34062) | function pack(r, p) {
function scalarmult (line 34073) | function scalarmult(p, q, s) {
function scalarbase (line 34088) | function scalarbase(p, s) {
function crypto_sign_keypair (line 34097) | function crypto_sign_keypair(pk, sk, seeded) {
function modL (line 34121) | function modL(r, x) {
function reduce (line 34146) | function reduce(r) {
function crypto_sign (line 34155) | function crypto_sign(sm, m, n, sk) {
function unpackneg (line 34194) | function unpackneg(r, p) {
function crypto_sign_open (line 34236) | function crypto_sign_open(m, sm, n, pk) {
function checkLengths (line 34332) | function checkLengths(k, n) {
function checkBoxLengths (line 34339) | function checkBoxLengths(pk, sk) {
function checkArrayTypes (line 34346) | function checkArrayTypes() {
function cleanup (line 34357) | function cleanup(arr) {
function _load_baseResolver (line 34639) | function _load_baseResolver() {
function _load_npmResolver (line 34647) | function _load_npmResolver() {
function _load_yarnResolver (line 34655) | function _load_yarnResolver() {
function _load_gitResolver (line 34663) | function _load_gitResolver() {
function _load_tarballResolver (line 34671) | function _load_tarballResolver() {
function _load_githubResolver (line 34679) | function _load_githubResolver() {
function _load_fileResolver (line 34687) | function _load_fileResolver() {
function _load_linkResolver (line 34695) | function _load_linkResolver() {
function _load_gitlabResolver (line 34703) | function _load_gitlabResolver() {
function _load_gistResolver (line 34711) | function _load_gistResolver() {
function _load_bitbucketResolver (line 34719) | function _load_bitbucketResolver() {
function _load_hostedGitResolver (line 34727) | function _load_hostedGitResolver() {
function _load_registryResolver (line 34733) | function _load_registryResolver() {
function _interopRequireDefault (line 34739) | function _interopRequireDefault(obj) {
function getExoticResolver (line 34761) | function getExoticResolver(pattern) {
function hostedGitFragmentToGitUrl (line 34798) | function hostedGitFragmentToGitUrl(fragment, reporter) {
class Prompt (line 34849) | class Prompt {
method constructor (line 34850) | constructor(question, rl, answers) {
method run (line 34890) | run() {
method _run (line 34897) | _run(cb) {
method throwParamError (line 34907) | throwParamError(name) {
method close (line 34914) | close() {
method handleSubmitEvents (line 34923) | handleSubmitEvents(submit) {
method getQuestion (line 34961) | getQuestion() {
function normalizeKeypressEvents (line 34994) | function normalizeKeypressEvents(value, key) {
function BigInteger (line 35069) | function BigInteger(a, b, c) {
function nbi (line 35077) | function nbi() {
function am1 (line 35089) | function am1(i, x, w, j, c, n) {
function am2 (line 35100) | function am2(i, x, w, j, c, n) {
function am3 (line 35115) | function am3(i, x, w, j, c, n) {
function int2char (line 35165) | function int2char(n) {
function intAt (line 35168) | function intAt(s, i) {
function bnpCopyTo (line 35174) | function bnpCopyTo(r) {
function bnpFromInt (line 35181) | function bnpFromInt(x) {
function nbv (line 35190) | function nbv(i) {
function bnpFromString (line 35197) | function bnpFromString(s, b) {
function bnpClamp (line 35238) | function bnpClamp() {
function bnToString (line 35244) | function bnToString(b) {
function bnNegate (line 35283) | function bnNegate() {
function bnAbs (line 35290) | function bnAbs() {
function bnCompareTo (line 35295) | function bnCompareTo(a) {
function nbits (line 35306) | function nbits(x) {
function bnBitLength (line 35333) | function bnBitLength() {
function bnpDLShiftTo (line 35342) | function bnpDLShiftTo(n, r) {
function bnpDRShiftTo (line 35351) | function bnpDRShiftTo(n, r) {
function bnpLShiftTo (line 35358) | function bnpLShiftTo(n, r) {
function bnpRShiftTo (line 35377) | function bnpRShiftTo(n, r) {
function bnpSubTo (line 35398) | function bnpSubTo(a, r) {
function bnpMultiplyTo (line 35433) | function bnpMultiplyTo(a, r) {
function bnpSquareTo (line 35446) | function bnpSquareTo(r) {
function bnpDivRemTo (line 35473) | function bnpDivRemTo(m, q, r) {
function bnMod (line 35536) | function bnMod(a) {
function Classic (line 35544) | function Classic(m) {
function cConvert (line 35547) | function cConvert(x) {
function cRevert (line 35551) | function cRevert(x) {
function cReduce (line 35554) | function cReduce(x) {
function cMulTo (line 35557) | function cMulTo(x, y, r) {
function cSqrTo (line 35561) | function cSqrTo(x, r) {
function bnpInvDigit (line 35582) | function bnpInvDigit() {
function Montgomery (line 35598) | function Montgomery(m) {
function montConvert (line 35608) | function montConvert(x) {
function montRevert (line 35617) | function montRevert(x) {
function montReduce (line 35625) | function montReduce(x) {
function montSqrTo (line 35651) | function montSqrTo(x, r) {
function montMulTo (line 35657) | function montMulTo(x, y, r) {
function bnpIsEven (line 35669) | function bnpIsEven() {
function bnpExp (line 35674) | function bnpExp(e, z) {
function bnModPowInt (line 35694) | function bnModPowInt(e, m) {
function bnClone (line 35741) | function bnClone() {
function bnIntValue (line 35748) | function bnIntValue() {
function bnByteValue (line 35759) | function bnByteValue() {
function bnShortValue (line 35764) | function bnShortValue() {
function bnpChunkSize (line 35769) | function bnpChunkSize(r) {
function bnSigNum (line 35774) | function bnSigNum() {
function bnpToRadix (line 35781) | function bnpToRadix(b) {
function bnpFromRadix (line 35799) | function bnpFromRadix(s, b) {
function bnpFromNumber (line 35829) | function bnpFromNumber(a, b, c) {
function bnToByteArray (line 35858) | function bnToByteArray() {
function bnEquals (line 35887) | function bnEquals(a) {
function bnMin (line 35890) | function bnMin(a) {
function bnMax (line 35893) | function bnMax(a) {
function bnpBitwiseTo (line 35898) | function bnpBitwiseTo(a, op, r) {
function op_and (line 35917) | function op_and(x, y) {
function bnAnd (line 35920) | function bnAnd(a) {
function op_or (line 35927) | function op_or(x, y) {
function bnOr (line 35930) | function bnOr(a) {
function op_xor (line 35937) | function op_xor(x, y) {
function bnXor (line 35940) | function bnXor(a) {
function op_andnot (line 35947) | function op_andnot(x, y) {
function bnAndNot (line 35950) | function bnAndNot(a) {
function bnNot (line 35957) | function bnNot() {
function bnShiftLeft (line 35966) | function bnShiftLeft(n) {
function bnShiftRight (line 35974) | function bnShiftRight(n) {
function lbit (line 35982) | function lbit(x) {
function bnGetLowestSetBit (line 36006) | function bnGetLowestSetBit() {
function cbit (line 36014) | function cbit(x) {
function bnBitCount (line 36024) | function bnBitCount() {
function bnTestBit (line 36032) | function bnTestBit(n) {
function bnpChangeBit (line 36039) | function bnpChangeBit(n, op) {
function bnSetBit (line 36046) | function bnSetBit(n) {
function bnClearBit (line 36051) | function bnClearBit(n) {
function bnFlipBit (line 36056) | function bnFlipBit(n) {
function bnpAddTo (line 36061) | function bnpAddTo(a, r) {
function bnAdd (line 36095) | function bnAdd(a) {
function bnSubtract (line 36102) | function bnSubtract(a) {
function bnMultiply (line 36109) | function bnMultiply(a) {
function bnSquare (line 36116) | function bnSquare() {
function bnDivide (line 36123) | function bnDivide(a) {
function bnRemainder (line 36130) | function bnRemainder(a) {
function bnDivideAndRemainder (line 36137) | function bnDivideAndRemainder(a) {
function bnpDMultiply (line 36145) | function bnpDMultiply(n) {
function bnpDAddOffset (line 36152) | function bnpDAddOffset(n, w) {
function NullExp (line 36164) | function NullExp() {}
function nNop (line 36165) | function nNop(x) {
function nMulTo (line 36168) | function nMulTo(x, y, r) {
function nSqrTo (line 36171) | function nSqrTo(x, r) {
function bnPow (line 36181) | function bnPow(e) {
function bnpMultiplyLowerTo (line 36187) | function bnpMultiplyLowerTo(a, n, r) {
function bnpMultiplyUpperTo (line 36202) | function bnpMultiplyUpperTo(a, n, r) {
function Barrett (line 36214) | function Barrett(m) {
function barrettConvert (line 36223) | function barrettConvert(x) {
function barrettRevert (line 36234) | function barrettRevert(x) {
function barrettReduce (line 36239) | function barrettReduce(x) {
function barrettSqrTo (line 36253) | function barrettSqrTo(x, r) {
function barrettMulTo (line 36259) | function barrettMulTo(x, y, r) {
function bnModPow (line 36271) | function bnModPow(e, m) {
function bnGCD (line 36358) | function bnGCD(a) {
function bnpModInt (line 36390) | function bnpModInt(n) {
function bnModInverse (line 36402) | function bnModInverse(m) {
function bnIsProbablePrime (line 36469) | function bnIsProbablePrime(t) {
function bnpMillerRabin (line 36490) | function bnpMillerRabin(t) {
function rng_seed_int (line 36590) | function rng_seed_int(x) {
function rng_seed_time (line 36599) | function rng_seed_time() {
function rng_get_byte (line 36636) | function rng_get_byte() {
function rng_get_bytes (line 36650) | function rng_get_bytes(ba) {
function SecureRandom (line 36655) | function SecureRandom() {}
function Arcfour (line 36661) | function Arcfour() {
function ARC4init (line 36668) | function ARC4init(key) {
function ARC4next (line 36682) | function ARC4next() {
function prng_newstate (line 36696) | function prng_newstate() {
function charSet (line 36757) | function charSet(s) {
function filter (line 36768) | function filter(pattern, options) {
function ext (line 36775) | function ext(a, b) {
function minimatch (line 36809) | function minimatch(p, pattern, options) {
function Minimatch (line 36827) | function Minimatch(pattern, options) {
function make (line 36859) | function make() {
function parseNegate (line 36915) | function parseNegate() {
function braceExpand (line 36952) | function braceExpand(pattern, options) {
function parse (line 36988) | function parse(pattern, isSub) {
function makeRe (line 37365) | function makeRe() {
function match (line 37431) | function match(f, partial) {
function globUnescape (line 37653) | function globUnescape(s) {
function regExpEscape (line 37657) | function regExpEscape(s) {
function once (line 37685) | function once(fn) {
function onceStrict (line 37695) | function onceStrict(fn) {
function InnerSubscriber (line 37730) | function InnerSubscriber(parent, outerValue, outerIndex) {
function fromArray (line 37774) | function fromArray(input, scheduler) {
function read (line 37842) | function read(buf, options, forceType) {
function write (line 37953) | function write(key, options, type) {
function _load_extends (line 38025) | function _load_extends() {
function _load_asyncToGenerator (line 38031) | function _load_asyncToGenerator() {
function _load_constants (line 38039) | function _load_constants() {
function _load_fs (line 38045) | function _load_fs() {
function _load_npmResolver (line 38051) | function _load_npmResolver() {
function _load_envReplace (line 38059) | function _load_envReplace() {
function _load_baseRegistry (line 38065) | function _load_baseRegistry() {
function _load_misc (line 38073) | function _load_misc() {
function _load_path (line 38079) | function _load_path() {
function _load_normalizeUrl (line 38085) | function _load_normalizeUrl() {
function _load_userHomeDir (line 38093) | function _load_userHomeDir() {
function _load_userHomeDir2 (line 38099) | function _load_userHomeDir2() {
function _load_errors (line 38105) | function _load_errors() {
function _load_login (line 38111) | function _load_login() {
function _load_path2 (line 38117) | function _load_path2() {
function _load_url (line 38123) | function _load_url() {
function _load_ini (line 38129) | function _load_ini() {
function _interopRequireWildcard (line 38133) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 38149) | function _interopRequireDefault(obj) {
function getGlobalPrefix (line 38171) | function getGlobalPrefix() {
function isPathConfigOption (line 38202) | function isPathConfigOption(key) {
function normalizePath (line 38206) | function normalizePath(val) {
function urlParts (line 38218) | function urlParts(requestUrl) {
class NpmRegistry (line 38227) | class NpmRegistry extends (_baseRegistry || _load_baseRegistry())
method constructor (line 38229) | constructor(
method escapeName (line 38248) | static escapeName(name) {
method isScopedPackage (line 38253) | isScopedPackage(packageIdent) {
method getRequestUrl (line 38257) | getRequestUrl(registry, pathname) {
method isRequestToRegistry (line 38274) | isRequestToRegistry(requestUrl, registryUrl) {
method request (line 38299) | request(pathname, opts = {}, packageName) {
method requestNeedsAuth (line 38388) | requestNeedsAuth(requestUrl) {
method checkOutdated (line 38409) | checkOutdated(config, name, range) {
method getPossibleConfigLocations (line 38459) | getPossibleConfigLocations(filename, reporter) {
method getConfigEnv (line 38601) | static getConfigEnv(env = process.env) {
method normalizeConfig (line 38609) | static normalizeConfig(config) {
method loadConfig (line 38628) | loadConfig() {
method getScope (line 38687) | getScope(packageIdent) {
method getRegistry (line 38692) | getRegistry(packageIdent) {
method getAuthByRegistry (line 38718) | getAuthByRegistry(registry) {
method getAuth (line 38751) | getAuth(packageIdent) {
method getScopedOption (line 38799) | getScopedOption(scope, option) {
method getRegistryOption (line 38803) | getRegistryOption(registry, option) {
method getRegistryOrGlobalOption (line 38822) | getRegistryOrGlobalOption(registry, option) {
function _load_baseResolver (line 38843) | function _load_baseResolver() {
function _interopRequireDefault (line 38849) | function _interopRequireDefault(obj) {
class ExoticResolver (line 38853) | class ExoticResolver extends (_baseResolver || _load_baseResolver())
method isVersion (line 38855) | static isVersion(pattern) {
function _load_normalizePattern (line 38878) | function _load_normalizePattern() {
class WorkspaceLayout (line 38884) | class WorkspaceLayout {
method constructor (line 38885) | constructor(workspaces, config) {
method getWorkspaceManifest (line 38890) | getWorkspaceManifest(key) {
method getManifestByPattern (line 38894) | getManifestByPattern(pattern) {
function PromiseCapability (line 38956) | function PromiseCapability(C) {
function glob (line 39085) | function glob(pattern, options, cb) {
function extend (line 39103) | function extend(origin, add) {
function Glob (line 39136) | function Glob(pattern, options, cb) {
function next (line 39222) | function next() {
function lstatcb_ (line 39528) | function lstatcb_(er, lstat) {
function readdirCb (line 39564) | function readdirCb(self, abs, cb) {
function lstatcb_ (line 39775) | function lstatcb_(er, lstat) {
function posix (line 39834) | function posix(path) {
function win32 (line 39838) | function win32(path) {
function algToKeyType (line 39905) | function algToKeyType(alg) {
function keyTypeToAlg (line 39915) | function keyTypeToAlg(key) {
function read (line 39926) | function read(partial, type, buf, options) {
function write (line 40001) | function write(key, options) {
function _load_asyncToGenerator (line 40048) | function _load_asyncToGenerator() {
function _load_fs (line 40094) | function _load_fs() {
function _load_fs2 (line 40100) | function _load_fs2() {
function _load_path (line 40106) | function _load_path() {
function _interopRequireDefault (line 40110) | function _interopRequireDefault(obj) {
function _load_util (line 40144) | function _load_util() {
function _load_invariant (line 40150) | function _load_invariant() {
function _load_stripBom (line 40156) | function _load_stripBom() {
function _load_constants (line 40162) | function _load_constants() {
function _load_errors (line 40168) | function _load_errors() {
function _load_map (line 40174) | function _load_map() {
function _interopRequireDefault (line 40178) | function _interopRequireDefault(obj) {
function isValidPropValueToken (line 40211) | function isValidPropValueToken(token) {
function buildToken (line 40220) | function buildToken(type, value) {
class Parser (line 40340) | class Parser {
method constructor (line 40341) | constructor(input, fileLoc = 'lockfile') {
method onComment (line 40347) | onComment(token) {
method next (line 40372) | next() {
method unexpected (line 40392) | unexpected(msg = 'Unexpected token') {
method expect (line 40398) | expect(tokType) {
method eat (line 40406) | eat(tokType) {
method parse (line 40415) | parse(indent = 0) {
function extractConflictVariants (line 40568) | function extractConflictVariants(str) {
function hasMergeConflicts (line 40614) | function hasMergeConflicts(str) {
function parse (line 40625) | function parse(str, fileLoc) {
function parseWithConflict (line 40656) | function parseWithConflict(str, fileLoc) {
function _load_asyncToGenerator (line 40689) | function _load_asyncToGenerator() {
function revoke (line 40835) | function revoke() {
function _load_errors (line 40875) | function _load_errors() {
function _interopRequireDefault (line 40879) | function _interopRequireDefault(obj) {
function getOneTimePassword (line 40883) | function getOneTimePassword(reporter) {
function hasWrapper (line 40887) | function hasWrapper(commander, args) {
function setFlags (line 40891) | function setFlags(commander) {
function _load_asyncToGenerator (line 40907) | function _load_asyncToGenerator() {
function _load_format (line 40917) | function _load_format() {
function _load_index (line 40923) | function _load_index() {
function _load_isCi (line 40929) | function _load_isCi() {
function _load_os (line 40935) | function _load_os() {
function _interopRequireWildcard (line 40939) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 40955) | function _interopRequireDefault(obj) {
function stringifyLangArgs (line 40964) | function stringifyLangArgs(args) {
class BaseReporter (line 40993) | class BaseReporter {
method constructor (line 40994) | constructor(opts = {}) {
method lang (line 41015) | lang(key, ...args) {
method rawText (line 41039) | rawText(str) {
method verbose (line 41047) | verbose(msg) {
method verboseInspect (line 41053) | verboseInspect(val) {
method _verbose (line 41059) | _verbose(msg) {}
method _verboseInspect (line 41060) | _verboseInspect(val) {}
method _getStandardInput (line 41062) | _getStandardInput() {
method initPeakMemoryCounter (line 41079) | initPeakMemoryCounter() {
method checkPeakMemory (line 41088) | checkPeakMemory() {
method close (line 41098) | close() {
method getTotalTime (line 41105) | getTotalTime() {
method list (line 41110) | list(key, items, hints) {}
method tree (line 41113) | tree(key, obj, { force = false } = {}) {}
method step (line 41116) | step(current, total, message, emoji) {}
method error (line 41120) | error(message) {}
method info (line 41123) | info(message) {}
method warn (line 41126) | warn(message) {}
method success (line 41129) | success(message) {}
method log (line 41133) | log(message, { force = false } = {}) {}
method command (line 41136) | command(command) {}
method inspect (line 41139) | inspect(value) {}
method header (line 41142) | header(command, pkg) {}
method footer (line 41145) | footer(showPeakMemory) {}
method table (line 41148) | table(head, body) {}
method auditAction (line 41151) | auditAction(recommendation) {}
method auditManualReview (line 41154) | auditManualReview() {}
method auditAdvisory (line 41157) | auditAdvisory(resolution, auditAdvisory) {}
method auditSummary (line 41160) | auditSummary(auditMetadata) {}
method activity (line 41163) | activity() {
method activitySet (line 41171) | activitySet(total, workers) {
method question (line 41184) | question(question, options = {}) {
method questionAffirm (line 41189) | questionAffirm(question) {
method select (line 41219) | select(header, question, options) {
method progress (line 41224) | progress(total) {
method disableProgress (line 41229) | disableProgress() {
method prompt (line 41234) | prompt(message, choices, options = {}) {
function _load_asyncToGenerator (line 41252) | function _load_asyncToGenerator() {
function _load_errors (line 41262) | function _load_errors() {
function _load_index (line 41268) | function _load_index() {
function _load_gitResolver (line 41274) | function _load_gitResolver() {
function _load_exoticResolver (line 41282) | function _load_exoticResolver() {
function _load_git (line 41290) | function _load_git() {
function _load_guessName (line 41296) | function _load_guessName() {
function _interopRequireDefault (line 41300) | function _interopRequireDefault(obj) {
function parseHash (line 41304) | function parseHash(fragment) {
function explodeHostedGitFragment (line 41309) | function explodeHostedGitFragment(fragment, reporter) {
class HostedGitResolver (line 41339) | class HostedGitResolver extends (
method constructor (line 41342) | constructor(request, fragment) {
method getTarballUrl (line 41358) | static getTarballUrl(exploded, commit) {
method getGitHTTPUrl (line 41364) | static getGitHTTPUrl(exploded) {
method getGitHTTPBaseUrl (line 41369) | static getGitHTTPBaseUrl(exploded) {
method getGitSSHUrl (line 41374) | static getGitSSHUrl(exploded) {
method getHTTPFileUrl (line 41379) | static getHTTPFileUrl(exploded, filename, commit) {
method getRefOverHTTP (line 41386) | getRefOverHTTP(url) {
method resolveOverHTTP (line 41428) | resolveOverHTTP(url) {
method hasHTTPCapability (line 41513) | hasHTTPCapability(url) {
method resolve (line 41530) | resolve() {
function _load_map (line 41605) | function _load_map() {
function _interopRequireDefault (line 41609) | function _interopRequireDefault(obj) {
class BlockingQueue (line 41615) | class BlockingQueue {
method constructor (line 41616) | constructor(alias, maxConcurrency = Infinity) {
method stillActive (line 41630) | stillActive() {
method stuckTick (line 41642) | stuckTick() {
method push (line 41656) | push(key, factory) {
method shift (line 41674) | shift(key) {
method maybePushConcurrencyQueue (line 41733) | maybePushConcurrencyQueue(run) {
method shiftConcurrencyQueue (line 41741) | shiftConcurrencyQueue() {
function _load_extends (line 41771) | function _load_extends() {
function _load_asyncToGenerator (line 41777) | function _load_asyncToGenerator() {
function _load_errors (line 42351) | function _load_errors() {
function _load_constants (line 42357) | function _load_constants() {
function _load_child (line 42363) | function _load_child() {
function _load_fs (line 42369) | function _load_fs() {
function _load_dynamicRequire (line 42375) | function _load_dynamicRequire() {
function _load_portableScript (line 42381) | function _load_portableScript() {
function _load_fixCmdWinSlashes (line 42387) | function _load_fixCmdWinSlashes() {
function _load_global (line 42393) | function _load_global() {
function _interopRequireWildcard (line 42397) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 42413) | function _interopRequireDefault(obj) {
function checkForGypIfNeeded (line 42444) | function checkForGypIfNeeded(config, cmd, paths) {
function isArray (line 42496) | function isArray(arg) {
function isBoolean (line 42504) | function isBoolean(arg) {
function isNull (line 42509) | function isNull(arg) {
function isNullOrUndefined (line 42514) | function isNullOrUndefined(arg) {
function isNumber (line 42519) | function isNumber(arg) {
function isString (line 42524) | function isString(arg) {
function isSymbol (line 42529) | function isSymbol(arg) {
function isUndefined (line 42534) | function isUndefined(arg) {
function isRegExp (line 42539) | function isRegExp(re) {
function isObject (line 42544) | function isObject(arg) {
function isDate (line 42549) | function isDate(d) {
function isError (line 42554) | function isError(e) {
function isFunction (line 42559) | function isFunction(arg) {
function isPrimitive (line 42564) | function isPrimitive(arg) {
function objectToString (line 42578) | function objectToString(o) {
function copy (line 42614) | function copy(o, to) {
function checkDataType (line 42620) | function checkDataType(dataType, data, negate) {
function checkDataTypes (line 42668) | function checkDataTypes(dataTypes, data) {
function coerceToTypes (line 42697) | function coerceToTypes(optionCoerceTypes, dataTypes) {
function toHash (line 42714) | function toHash(arr) {
function getProperty (line 42722) | function getProperty(key) {
function escapeQuotes (line 42730) | function escapeQuotes(str) {
function varOccurences (line 42739) | function varOccurences(str, dataVar) {
function varReplace (line 42745) | function varReplace(str, dataVar, expr) {
function cleanUpCode (line 42754) | function cleanUpCode(out) {
function finalCleanUpCode (line 42773) | function finalCleanUpCode(out, async) {
function schemaHasRules (line 42788) | function schemaHasRules(schema, rules) {
function schemaHasRulesExcept (line 42793) | function schemaHasRulesExcept(schema, rules, exceptKeyword) {
function toQuotedString (line 42800) | function toQuotedString(str) {
function getPathExpr (line 42804) | function getPathExpr(currentPath, expr, jsonPointers, isNumber) {
function getPath (line 42815) | function getPath(currentPath, prop, jsonPointers) {
function getData (line 42824) | function getData($data, lvl, paths) {
function joinPaths (line 42871) | function joinPaths(a, b) {
function unescapeFragment (line 42876) | function unescapeFragment(str) {
function escapeFragment (line 42880) | function escapeFragment(str) {
function escapeJsonPointer (line 42884) | function escapeJsonPointer(str) {
function unescapeJsonPointer (line 42888) | function unescapeJsonPointer(str) {
function micromatch (line 42917) | function micromatch(files, patterns, opts) {
function match (line 42958) | function match(files, pattern, opts) {
function filter (line 43042) | function filter(patterns, opts) {
function isMatch (line 43090) | function isMatch(fp, pattern, opts) {
function contains (line 43107) | function contains(fp, pattern, opts) {
function any (line 43132) | function any(fp, patterns, opts) {
function matchKeys (line 43159) | function matchKeys(obj, glob, options) {
function matcher (line 43184) | function matcher(pattern, opts) {
function toRegex (line 43235) | function toRegex(glob, options) {
function wrapGlob (line 43272) | function wrapGlob(glob, opts) {
function makeRe (line 43292) | function makeRe(glob, opts) {
function msg (line 43314) | function msg(method, what, type) {
function Duplex (line 43412) | function Duplex(options) {
function onend (line 43440) | function onend() {
function onEndNT (line 43450) | function onEndNT(self) {
function multicast (line 43499) | function multicast(subjectOrSubjectFactory, selector) {
function MulticastOperator (line 43524) | function MulticastOperator(subjectFactory, selector) {
function identity (line 43564) | function identity(x) {
function _load_asyncToGenerator (line 43595) | function _load_asyncToGenerator() {
function throwPermError (line 43811) | function throwPermError(err, dest) {
function _load_errors (line 43981) | function _load_errors() {
function _load_index (line 43987) | function _load_index() {
function _load_baseReporter (line 43993) | function _load_baseReporter() {
function _load_buildSubCommands (line 44001) | function _load_buildSubCommands() {
function _load_lockfile (line 44009) | function _load_lockfile() {
function _load_install (line 44015) | function _load_install() {
function _load_add (line 44021) | function _load_add() {
function _load_remove (line 44027) | function _load_remove() {
function _load_upgrade (line 44033) | function _load_upgrade() {
function _load_upgradeInteractive (line 44039) | function _load_upgradeInteractive() {
function _load_packageLinker (line 44045) | function _load_packageLinker() {
function _load_constants (line 44051) | function _load_constants() {
function _load_fs (line 44057) | function _load_fs() {
function _interopRequireWildcard (line 44061) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 44077) | function _interopRequireDefault(obj) {
class GlobalAdd (line 44081) | class GlobalAdd extends (_add || _load_add()).Add {
method constructor (line 44082) | constructor(args, flags, config, reporter, lockfile) {
method maybeOutputSaveTree (line 44088) | maybeOutputSaveTree() {
method _logSuccessSaveLockfile (line 44116) | _logSuccessSaveLockfile() {
function hasWrapper (line 44123) | function hasWrapper(flags, args) {
function ls (line 44127) | function ls(manifest, reporter, saved) {
method add (line 44146) | add(config, reporter, flags, args) {
method bin (line 44175) | bin(config, reporter, flags, args) {
method dir (line 44183) | dir(config, reporter, flags, args) {
method ls (line 44188) | ls(config, reporter, flags, args) {
method list (line 44199) | list(config, reporter, flags, args) {
method remove (line 44207) | remove(config, reporter, flags, args) {
method upgrade (line 44228) | upgrade(config, reporter, flags, args) {
method upgradeInteractive (line 44249) | upgradeInteractive(config, reporter, flags, args) {
function setFlags (line 44275) | function setFlags(commander) {
function _load_asyncToGenerator (line 44302) | function _load_asyncToGenerator() {
function _load_path (line 44310) | function _load_path() {
function _load_invariant (line 44316) | function _load_invariant() {
function _load_semver (line 44322) | function _load_semver() {
function _load_validate (line 44328) | function _load_validate() {
function _load_lockfile (line 44334) | function _load_lockfile() {
function _load_packageReference (line 44340) | function _load_packageReference() {
function _load_index (line 44348) | function _load_index() {
function _load_errors (line 44354) | function _load_errors() {
function _load_constants (line 44360) | function _load_constants() {
function _load_version (line 44366) | function _load_version() {
function _load_workspaceResolver (line 44372) | function _load_workspaceResolver() {
function _load_fs (line 44380) | function _load_fs() {
function _load_normalizePattern (line 44386) | function _load_normalizePattern() {
function _interopRequireWildcard (line 44390) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 44406) | function _interopRequireDefault(obj) {
class PackageRequest (line 44412) | class PackageRequest {
method constructor (line 44413) | constructor(req, resolver) {
method init (line 44427) | init() {
method getLocked (line 44431) | getLocked(remoteType) {
method findVersionOnRegistry (line 44474) | findVersionOnRegistry(pattern) {
method getRegistryResolver (line 44535) | getRegistryResolver() {
method normalizeRange (line 44546) | normalizeRange(pattern) {
method normalize (line 44585) | normalize(pattern) {
method findExoticVersionInfo (line 44608) | findExoticVersionInfo(ExoticResolver, range) {
method findVersionInfo (line 44618) | findVersionInfo() {
method reportResolvedRangeMatch (line 44680) | reportResolvedRangeMatch(info, resolved) {}
method resolveToExistingVersion (line 44687) | resolveToExistingVersion(info) {
method find (line 44726) | find({ fresh, frozen }) {
method validateVersionInfo (line 44932) | static validateVersionInfo(info, reporter) {
method getPackageVersion (line 44974) | static getPackageVersion(info) {
method getOutdatedPackages (line 44983) | static getOutdatedPackages(
class BaseResolver (line 45141) | class BaseResolver {
method constructor (line 45142) | constructor(request, fragment) {
method fork (line 45152) | fork(Resolver, resolveArg, ...args) {
method resolve (line 45158) | resolve(resolveArg) {
function _load_asyncToGenerator (line 45176) | function _load_asyncToGenerator() {
function _load_index (line 45184) | function _load_index() {
function _load_misc (line 45190) | function _load_misc() {
function _load_version (line 45196) | function _load_version() {
function _load_guessName (line 45202) | function _load_guessName() {
function _load_index2 (line 45208) | function _load_index2() {
function _load_exoticResolver (line 45214) | function _load_exoticResolver() {
function _load_git (line 45222) | function _load_git() {
function _interopRequireWildcard (line 45226) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 45242) | function _interopRequireDefault(obj) {
class GitResolver (line 45263) | class GitResolver extends (_exoticResolver || _load_exoticResolver())
method constructor (line 45265) | constructor(request, fragment) {
method isVersion (line 45279) | static isVersion(pattern) {
method resolve (line 45320) | resolve(forked) {
function _load_errors (line 45551) | function _load_errors() {
function _load_util (line 45557) | function _load_util() {
function _load_typos (line 45563) | function _load_typos() {
function _interopRequireDefault (line 45567) | function _interopRequireDefault(obj) {
function isValidName (line 45587) | function isValidName(name) {
function isValidScopedName (line 45591) | function isValidScopedName(name) {
function isValidPackageName (line 45602) | function isValidPackageName(name) {
function cleanDependencies (line 45606) | function cleanDependencies(info, isRoot, reporter, warn) {
function selectColor (line 46188) | function selectColor(namespace) {
function createDebug (line 46208) | function createDebug(namespace) {
function destroy (line 46279) | function destroy() {
function enable (line 46297) | function enable(namespaces) {
function disable (line 46331) | function disable() {
function enabled (line 46343) | function enabled(name) {
function coerce (line 46369) | function coerce(val) {
function ECFieldElementFp (line 46390) | function ECFieldElementFp(q, x) {
function feFpEquals (line 46396) | function feFpEquals(other) {
function feFpToBigInteger (line 46401) | function feFpToBigInteger() {
function feFpNegate (line 46405) | function feFpNegate() {
function feFpAdd (line 46409) | function feFpAdd(b) {
function feFpSubtract (line 46416) | function feFpSubtract(b) {
function feFpMultiply (line 46423) | function feFpMultiply(b) {
function feFpSquare (line 46430) | function feFpSquare() {
function feFpDivide (line 46434) | function feFpDivide(b) {
function ECPointFp (line 46454) | function ECPointFp(curve, x, y, z) {
function pointFpGetX (line 46469) | function pointFpGetX() {
function pointFpGetY (line 46478) | function pointFpGetY() {
function pointFpEquals (line 46487) | function pointFpEquals(other) {
function pointFpIsInfinity (line 46508) | function pointFpIsInfinity() {
function pointFpNegate (line 46516) | function pointFpNegate() {
function pointFpAdd (line 46520) | function pointFpAdd(b) {
function pointFpTwice (line 46582) | function pointFpTwice() {
function pointFpMultiply (line 46632) | function pointFpMultiply(k) {
function pointFpMultiplyTwo (line 46658) | function pointFpMultiplyTwo(j, x, k) {
function ECCurveFp (line 46698) | function ECCurveFp(q, a, b) {
function curveFpGetQ (line 46706) | function curveFpGetQ() {
function curveFpGetA (line 46710) | function curveFpGetA() {
function curveFpGetB (line 46714) | function curveFpGetB() {
function curveFpEquals (line 46718) | function curveFpEquals(other) {
function curveFpGetInfinity (line 46727) | function curveFpGetInfinity() {
function curveFpFromBigInteger (line 46731) | function curveFpFromBigInteger(x) {
function curveReduce (line 46735) | function curveReduce(x) {
function curveFpDecodePointHex (line 46740) | function curveFpDecodePointHex(s) {
function curveFpEncodePointHex (line 46768) | function curveFpEncodePointHex(p) {
function newError (line 47011) | function newError(er) {
function realpath (line 47021) | function realpath(p, cache, cb) {
function realpathSync (line 47039) | function realpathSync(p, cache) {
function monkeypatch (line 47055) | function monkeypatch() {
function unmonkeypatch (line 47060) | function unmonkeypatch() {
function ownProp (line 47079) | function ownProp(obj, field) {
function alphasorti (line 47088) | function alphasorti(a, b) {
function alphasort (line 47092) | function alphasort(a, b) {
function setupIgnores (line 47096) | function setupIgnores(self, options) {
function ignoreMap (line 47107) | function ignoreMap(pattern) {
function setopts (line 47120) | function setopts(self, pattern, options) {
function finish (line 47186) | function finish(self) {
function mark (line 47237) | function mark(self, p) {
function makeAbs (line 47259) | function makeAbs(self, f) {
function isIgnored (line 47278) | function isIgnored(self, path) {
function childrenIgnored (line 47289) | function childrenIgnored(self, path) {
function mkdirP (line 47358) | function mkdirP(p, opts, f, made) {
function defaultIfEmpty (line 47461) | function defaultIfEmpty(defaultValue) {
function DefaultIfEmptyOperator (line 47470) | function DefaultIfEmptyOperator(defaultValue) {
function DefaultIfEmptySubscriber (line 47485) | function DefaultIfEmptySubscriber(destination, defaultValue) {
function filter (line 47517) | function filter(predicate, thisArg) {
function FilterOperator (line 47523) | function FilterOperator(predicate, thisArg) {
function FilterSubscriber (line 47539) | function FilterSubscriber(destination, predicate, thisArg) {
function mergeMap (line 47584) | function mergeMap(project, resultSelector, concurrent) {
function MergeMapOperator (line 47616) | function MergeMapOperator(project, concurrent) {
function MergeMapSubscriber (line 47636) | function MergeMapSubscriber(destination, project, concurrent) {
function AsyncAction (line 47739) | function AsyncAction(scheduler, work) {
function AsyncScheduler (line 47854) | function AsyncScheduler(SchedulerAction, now) {
function getSymbolIterator (line 47926) | function getSymbolIterator() {
function ArgumentOutOfRangeErrorImpl (line 47949) | function ArgumentOutOfRangeErrorImpl() {
function EmptyErrorImpl (line 47974) | function EmptyErrorImpl() {
function isFunction (line 47991) | function isFunction(x) {
function Certificate (line 48025) | function Certificate(opts) {
function Fingerprint (line 48394) | function Fingerprint(opts) {
function addColons (line 48508) | function addColons(s) {
function base64Strip (line 48513) | function base64Strip(s) {
function sshBase64Format (line 48518) | function sshBase64Format(alg, h) {
function read (line 48564) | function read(buf, options) {
function write (line 48568) | function write(key, options) {
function readMPInt (line 48573) | function readMPInt(der, nm) {
function readPkcs8 (line 48582) | function readPkcs8(alg, type, der) {
function readPkcs8RSAPublic (line 48625) | function readPkcs8RSAPublic(der) {
function readPkcs8RSAPrivate (line 48648) | function readPkcs8RSAPrivate(der) {
function readPkcs8DSAPublic (line 48683) | function readPkcs8DSAPublic(der) {
function readPkcs8DSAPrivate (line 48710) | function readPkcs8DSAPrivate(der) {
function readECDSACurve (line 48737) | function readECDSACurve(der) {
function readPkcs8ECDSAPrivate (line 48836) | function readPkcs8ECDSAPrivate(der) {
function readPkcs8ECDSAPublic (line 48864) | function readPkcs8ECDSAPublic(der) {
function readPkcs8EdDSAPublic (line 48882) | function readPkcs8EdDSAPublic(der) {
function readPkcs8X25519Public (line 48895) | function readPkcs8X25519Public(der) {
function readPkcs8EdDSAPrivate (line 48906) | function readPkcs8EdDSAPrivate(der) {
function readPkcs8X25519Private (line 48932) | function readPkcs8X25519Private(der) {
function writePkcs8 (line 48952) | function writePkcs8(der, key) {
function writePkcs8RSAPrivate (line 48992) | function writePkcs8RSAPrivate(key, der) {
function writePkcs8RSAPublic (line 49016) | function writePkcs8RSAPublic(key, der) {
function writePkcs8DSAPrivate (line 49031) | function writePkcs8DSAPrivate(key, der) {
function writePkcs8DSAPublic (line 49045) | function writePkcs8DSAPublic(key, der) {
function writeECDSACurve (line 49059) | function writeECDSACurve(key, der) {
function writePkcs8ECDSAPublic (line 49099) | function writePkcs8ECDSAPublic(key, der) {
function writePkcs8ECDSAPrivate (line 49107) | function writePkcs8ECDSAPrivate(key, der) {
function writePkcs8EdDSAPublic (line 49128) | function writePkcs8EdDSAPublic(key, der) {
function writePkcs8EdDSAPrivate (line 49134) | function writePkcs8EdDSAPrivate(key, der) {
function Identity (line 49183) | function Identity(opts) {
function globMatch (line 49314) | function globMatch(a, b) {
function SSHBuffer (line 49442) | function SSHBuffer(opts) {
function wrappy (line 49612) | function wrappy(fn, cb) {
function _load_extends (line 49652) | function _load_extends() {
function _load_asyncToGenerator (line 49658) | function _load_asyncToGenerator() {
function _load_executeLifecycleScript (line 49668) | function _load_executeLifecycleScript() {
function _load_path (line 49674) | function _load_path() {
function _load_conversion (line 49680) | function _load_conversion() {
function _load_index (line 49686) | function _load_index() {
function _load_errors (line 49692) | function _load_errors() {
function _load_fs (line 49698) | function _load_fs() {
function _load_constants (line 49704) | function _load_constants() {
function _load_packageConstraintResolver (line 49710) | function _load_packageConstraintResolver() {
function _load_requestManager (line 49718) | function _load_requestManager() {
function _load_index2 (line 49726) | function _load_index2() {
function _load_index3 (line 49732) | function _load_index3() {
function _load_map (line 49738) | function _load_map() {
function _interopRequireWildcard (line 49742) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 49758) | function _interopRequireDefault(obj) {
function sortObject (line 49769) | function sortObject(object) {
class Config (line 49779) | class Config {
method constructor (line 49780) | constructor(reporter) {
method getCache (line 49834) | getCache(key, factory) {
method getOption (line 49850) | getOption(key, resolve = false) {
method resolveConstraints (line 49864) | resolveConstraints(versions, range) {
method init (line 49872) | init(opts = {}) {
method _init (line 50240) | _init(opts) {
method generateUniquePackageSlug (line 50293) | generateUniquePackageSlug(pkg) {
method generateModuleCachePath (line 50328) | generateModuleCachePath(pkg) {
method getUnpluggedPath (line 50339) | getUnpluggedPath() {
method generatePackageUnpluggedPath (line 50346) | generatePackageUnpluggedPath(pkg) {
method listUnpluggedPackageFolders (line 50359) | listUnpluggedPackageFolders() {
method executeLifecycleScript (line 50423) | executeLifecycleScript(commandName, cwd) {
method getTemp (line 50437) | getTemp(filename) {
method getOfflineMirrorPath (line 50448) | getOfflineMirrorPath(packageFilename) {
method isValidModuleDest (line 50489) | isValidModuleDest(dest) {
method readPackageMetadata (line 50516) | readPackageMetadata(dir) {
method readManifest (line 50548) | readManifest(dir, priorityRegistry, isRoot = false) {
method maybeReadManifest (line 50579) | maybeReadManifest(dir, priorityRegistry, isRoot = false) {
method readRootManifest (line 50656) | readRootManifest() {
method tryManifest (line 50664) | tryManifest(dir, registry, isRoot) {
method findManifest (line 50690) | findManifest(dir, isRoot) {
method findWorkspaceRoot (line 50734) | findWorkspaceRoot(initial) {
method resolveWorkspaces (line 50771) | resolveWorkspaces(root, rootManifest) {
method getWorkspaces (line 50885) | getWorkspaces(manifest, shouldThrow = false) {
method getFolder (line 50946) | getFolder(pkg) {
method getRootManifests (line 50960) | getRootManifests() {
method saveRootManifests (line 51023) | saveRootManifests(manifests) {
method readJson (line 51105) | readJson(loc, factory = (_fs || _load_fs()).readJson) {
method create (line 51119) | static create(
function extractWorkspaces (line 51134) | function extractWorkspaces(manifest) {
function _load_asyncToGenerator (line 51201) | function _load_asyncToGenerator() {
function _load_extends (line 51209) | function _load_extends() {
function _load_lockfile (line 51259) | function _load_lockfile() {
function _load_normalizePattern (line 51265) | function _load_normalizePattern() {
function _load_workspaceLayout (line 51271) | function _load_workspaceLayout() {
function _load_index (line 51279) | function _load_index() {
function _load_list (line 51285) | function _load_list() {
function _load_install (line 51291) | function _load_install() {
function _load_errors (line 51297) | function _load_errors() {
function _load_constants (line 51303) | function _load_constants() {
function _load_fs (line 51309) | function _load_fs() {
function _load_invariant (line 51315) | function _load_invariant() {
function _load_path (line 51321) | function _load_path() {
function _load_semver (line 51327) | function _load_semver() {
function _interopRequireWildcard (line 51331) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 51347) | function _interopRequireDefault(obj) {
class Add (line 51356) | class Add extends (_install || _load_install()).Install {
method constructor (line 51357) | constructor(args, flags, config, reporter, lockfile) {
method prepareRequests (line 51381) | prepareRequests(requests) {
method getPatternVersion (line 51417) | getPatternVersion(pattern, pkg) {
method preparePatterns (line 51465) | preparePatterns(patterns) {
method preparePatternsForLinking (line 51507) | preparePatternsForLinking(patterns, cwdManifest, cwdIsRoot) {
method bailout (line 51557) | bailout(patterns, workspaceLayout) {
method init (line 51591) | init() {
method applyChanges (line 51617) | applyChanges(manifests) {
method fetchRequestFromCwd (line 51669) | fetchRequestFromCwd() {
method maybeOutputSaveTree (line 51679) | maybeOutputSaveTree(patterns) {
method savePackages (line 51770) | savePackages() {
method _iterateAddedPackages (line 51776) | _iterateAddedPackages(f) {
function hasWrapper (line 51831) | function hasWrapper(commander) {
function setFlags (line 51835) | function setFlags(commander) {
function _load_asyncToGenerator (line 51877) | function _load_asyncToGenerator() {
function _load_fs (line 52173) | function _load_fs() {
function _load_filter (line 52179) | function _load_filter() {
function _load_errors (line 52185) | function _load_errors() {
function _interopRequireWildcard (line 52189) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 52205) | function _interopRequireDefault(obj) {
function packWithIgnoreAndHeaders (line 52252) | function packWithIgnoreAndHeaders(
function setFlags (line 52270) | function setFlags(commander) {
function hasWrapper (line 52277) | function hasWrapper(commander, args) {
function _load_asyncToGenerator (line 52293) | function _load_asyncToGenerator() {
function _load_index (line 52301) | function _load_index() {
function _load_constants (line 52307) | function _load_constants() {
function _load_fs (line 52313) | function _load_fs() {
function _load_mutex (line 52319) | function _load_mutex() {
function _interopRequireWildcard (line 52323) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 52339) | function _interopRequireDefault(obj) {
class BaseFetcher (line 52348) | class BaseFetcher {
method constructor (line 52349) | constructor(dest, remote, config) {
method setupMirrorFromCache (line 52360) | setupMirrorFromCache() {
method _fetch (line 52366) | _fetch() {
method fetch (line 52370) | fetch(defaultManifest) {
function hash (line 52508) | function hash(content, type = 'md5') {
class HashStream (line 52512) | class HashStream extends stream.Transform {
method constructor (line 52513) | constructor(options) {
method _transform (line 52519) | _transform(chunk, encoding, callback) {
method getHash (line 52525) | getHash() {
method test (line 52529) | test(sum) {
function _load_url (line 52548) | function _load_url() {
function _interopRequireDefault (line 52552) | function _interopRequireDefault(obj) {
function cleanup (line 52556) | function cleanup(name) {
function guessNameFallback (line 52561) | function guessNameFallback(source) {
function guessName (line 52567) | function guessName(source) {
function _load_semver (line 52639) | function _load_semver() {
function _interopRequireDefault (line 52643) | function _interopRequireDefault(obj) {
function satisfiesWithPrereleases (line 52652) | function satisfiesWithPrereleases(version, range, loose = false) {
function diffWithUnstable (line 52724) | function diffWithUnstable(version1, version2) {
function HttpSignatureError (line 52941) | function HttpSignatureError(message, caller) {
function InvalidAlgorithmError (line 52950) | function InvalidAlgorithmError(message) {
function validateAlgorithm (line 52955) | function validateAlgorithm(algorithm) {
class Separator (line 53053) | class Separator {
method constructor (line 53054) | constructor(line) {
method toString (line 53063) | toString() {
class Paginator (line 53094) | class Paginator {
method constructor (line 53095) | constructor(screen) {
method paginate (line 53101) | paginate(output, active, pageSize) {
function nextTick (line 53320) | function nextTick(fn, arg1, arg2, arg3) {
function AsyncSubject (line 53978) | function AsyncSubject() {
function Notification (line 54045) | function Notification(kind, value, error) {
method useDeprecatedSynchronousErrorHandling (line 54143) | set useDeprecatedSynchronousErrorHandling(value) {
method useDeprecatedSynchronousErrorHandling (line 54157) | get useDeprecatedSynchronousErrorHandling() {
function concat (line 54179) | function concat() {
function reduce (line 54226) | function reduce(accumulator, seed) {
function defaultErrorFactory (line 54299) | function defaultErrorFactory() {
function ObjectUnsubscribedErrorImpl (line 54319) | function ObjectUnsubscribedErrorImpl() {
function isNumeric (line 54341) | function isNumeric(val) {
function noop (line 54357) | function noop() {}
function read (line 54388) | function read(buf, options) {
function readSSHPrivate (line 54394) | function readSSHPrivate(type, buf, options) {
function write (line 54517) | function write(key, options) {
function validate (line 55033) | function validate(fs, name, root, cb) {
function mkdirfix (line 55043) | function mkdirfix(name, opts, cb) {
function _load_misc (line 55246) | function _load_misc() {
function _load_constants (line 55252) | function _load_constants() {
function _load_package (line 55258) | function _load_package() {
function shouldWrapKey (line 55264) | function shouldWrapKey(str) {
function maybeWrap (line 55274) | function maybeWrap(str) {
function priorityThenAlphaSort (line 55296) | function priorityThenAlphaSort(a, b) {
function _stringify (line 55304) | function _stringify(obj, options) {
function stringify (line 55364) | function stringify(obj, noHeader, enableVersions) {
function _load_consoleReporter (line 55404) | function _load_consoleReporter() {
function _load_bufferReporter (line 55419) | function _load_bufferReporter() {
function _load_eventReporter (line 55434) | function _load_eventReporter() {
function _load_jsonReporter (line 55448) | function _load_jsonReporter() {
function _load_noopReporter (line 55462) | function _load_noopReporter() {
function _load_baseReporter (line 55476) | function _load_baseReporter() {
function _interopRequireDefault (line 55488) | function _interopRequireDefault(obj) {
function cmdShimIfExists (line 55523) | function cmdShimIfExists(src, to, opts) {
function rm (line 55533) | function rm(path) {
function cmdShim (line 55537) | function cmdShim(src, to, opts) {
function cmdShim_ (line 55542) | function cmdShim_(src, to, opts) {
function writeShim (line 55550) | function writeShim(src, to, opts) {
function writeShim_ (line 55591) | function writeShim_(src, to, opts) {
function chmodShim (line 55791) | function chmodShim(to, { createCmdFile, createPwshFile }) {
function normalizePathEnvVar (line 55803) | function normalizePathEnvVar(nodePath) {
function _load_asyncToGenerator (line 55900) | function _load_asyncToGenerator() {
function _load_add (line 56060) | function _load_add() {
function _load_lockfile (line 56066) | function _load_lockfile() {
function _load_packageRequest (line 56072) | function _load_packageRequest() {
function _load_normalizePattern (line 56080) | function _load_normalizePattern() {
function _load_install (line 56086) | function _load_install() {
function _interopRequireDefault (line 56090) | function _interopRequireDefault(obj) {
function setUserRequestedPackageVersions (line 56104) | function setUserRequestedPackageVersions(
function getRangeOperator (line 56179) | function getRangeOperator(version) {
function buildPatternToUpgradeTo (line 56186) | function buildPatternToUpgradeTo(dep, flags) {
function scopeFilter (line 56210) | function scopeFilter(flags, dep) {
function cleanLockfile (line 56222) | function cleanLockfile(lockfile, deps, packagePatterns, reporter) {
function setFlags (line 56257) | function setFlags(commander) {
function hasWrapper (line 56292) | function hasWrapper(commander, args) {
function _load_extends (line 56311) | function _load_extends() {
function _load_asyncToGenerator (line 56317) | function _load_asyncToGenerator() {
function _load_constants (line 56325) | function _load_constants() {
function _load_fs (line 56331) | function _load_fs() {
function _load_misc (line 56337) | function _load_misc() {
function _load_packageNameUtils (line 56343) | function _load_packageNameUtils() {
function _load_workspaceLayout (line 56349) | function _load_workspaceLayout() {
function _interopRequireWildcard (line 56355) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 56371) | function _interopRequireDefault(obj) {
class InstallationIntegrityChecker (line 56404) | class InstallationIntegrityChecker {
method constructor (line 56405) | constructor(config) {
method _getModulesRootFolder (line 56413) | _getModulesRootFolder() {
method _getIntegrityFileFolder (line 56430) | _getIntegrityFileFolder() {
method _getIntegrityFileLocation (line 56450) | _getIntegrityFileLocation() {
method _getModulesFolders (line 56476) | _getModulesFolders({ workspaceLayout } = {}) {
method _getIntegrityListing (line 56531) | _getIntegrityListing({ workspaceLayout } = {}) {
method _generateIntegrityFile (line 56619) | _generateIntegrityFile(
method _getIntegrityFile (line 56854) | _getIntegrityFile(locationPath) {
method _compareIntegrityFiles (line 56874) | _compareIntegrityFiles(actual, expected, checkFiles, workspaceLayout) {
method check (line 57002) | check(patterns, lockfile, flags, workspaceLayout) {
method getArtifacts (line 57092) | getArtifacts() {
method save (line 57120) | save(patterns, lockfile, flags, workspaceLayout, artifacts) {
method removeIntegrityFile (line 57145) | removeIntegrityFile() {
function _load_errors (line 57176) | function _load_errors() {
function _load_map (line 57182) | function _load_map() {
function _load_misc (line 57188) | function _load_misc() {
function _load_yarnVersion (line 57194) | function _load_yarnVersion() {
function _load_semver (line 57200) | function _load_semver() {
function _interopRequireDefault (line 57204) | function _interopRequireDefault(obj) {
function isValid (line 57214) | function isValid(items, actual) {
function testEngine (line 57273) | function testEngine(name, range, versions, looseSemver) {
function isValidArch (line 57343) | function isValidArch(archs) {
function isValidPlatform (line 57347) | function isValidPlatform(platforms) {
function checkOne (line 57351) | function checkOne(info, config, ignoreEngines) {
function check (line 57445) | function check(infos, config, ignoreEngines) {
function shouldCheckCpu (line 57471) | function shouldCheckCpu(cpu, ignorePlatform) {
function shouldCheckPlatform (line 57475) | function shouldCheckPlatform(os, ignorePlatform) {
function shouldCheckEngines (line 57479) | function shouldCheckEngines(engines, ignoreEngines) {
function shouldCheck (line 57483) | function shouldCheck(manifest, options) {
function _load_asyncToGenerator (line 57504) | function _load_asyncToGenerator() {
function _load_errors (line 57655) | function _load_errors() {
function _load_index (line 57661) | function _load_index() {
function _load_fs (line 57667) | function _load_fs() {
function _load_promise (line 57673) | function _load_promise() {
function _interopRequireWildcard (line 57677) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 57693) | function _interopRequireDefault(obj) {
function fetchOne (line 57699) | function fetchOne(ref, config) {
function fetch (line 57705) | function fetch(pkgs, config) {
function _load_asyncToGenerator (line 57815) | function _load_asyncToGenerator() {
function _load_packageHoister (line 57850) | function _load_packageHoister() {
function _load_constants (line 57858) | function _load_constants() {
function _load_promise (line 57864) | function _load_promise() {
function _load_normalizePattern (line 57870) | function _load_normalizePattern() {
function _load_misc (line 57876) | function _load_misc() {
function _load_fs (line 57882) | function _load_fs() {
function _load_mutex (line 57888) | function _load_mutex() {
function _load_semver (line 57894) | function _load_semver() {
function _load_workspaceLayout (line 57900) | function _load_workspaceLayout() {
function _interopRequireWildcard (line 57906) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 57922) | function _interopRequireDefault(obj) {
class PackageLinker (line 57934) | class PackageLinker {
method constructor (line 57935) | constructor(config, resolver) {
method setArtifacts (line 57944) | setArtifacts(artifacts) {
method setTopLevelBinLinking (line 57948) | setTopLevelBinLinking(topLevelBinLinking) {
method linkSelfDependencies (line 57952) | linkSelfDependencies(pkg, pkgLoc, targetBinLoc, override = false) {
method linkBinDependencies (line 57998) | linkBinDependencies(pkg, dir) {
method findNearestInstalledVersionOfPackage (line 58146) | findNearestInstalledVersionOfPackage(pkg, binLoc) {
method getFlatHoistedTree (line 58229) | getFlatHoistedTree(patterns, workspaceLayout, { ignoreOptional } = {}) {
method copyModules (line 58243) | copyModules(
method _buildTreeHash (line 58992) | _buildTreeHash(flatTree) {
method getParentBinLoc (line 59026) | getParentBinLoc(parts, flatTree) {
method determineTopLevelBinLinkOrder (line 59044) | determineTopLevelBinLinkOrder(flatTree) {
method resolvePeerModules (line 59127) | resolvePeerModules() {
method _satisfiesPeerDependency (line 59283) | _satisfiesPeerDependency(range, version) {
method _warnForMissingBundledDependencies (line 59294) | _warnForMissingBundledDependencies(pkg) {
method _isUnplugged (line 59359) | _isUnplugged(pkg, ref) {
method init (line 59403) | init(
function _load_tty (line 59447) | function _load_tty() {
function _interopRequireDefault (line 59451) | function _interopRequireDefault(obj) {
function clearLine (line 59464) | function clearLine(stdout) {
function toStartOfLine (line 59479) | function toStartOfLine(stdout) {
function writeOnNthLine (line 59488) | function writeOnNthLine(stdout, n, msg) {
function clearNthLine (line 59507) | function clearNthLine(stdout, n) {
function _load_extends (line 59534) | function _load_extends() {
function _load_baseReporter (line 59540) | function _load_baseReporter() {
function _interopRequireDefault (line 59546) | function _interopRequireDefault(obj) {
class JSONReporter (line 59550) | class JSONReporter extends (_baseReporter || _load_baseReporter())
method constructor (line 59552) | constructor(opts) {
method _dump (line 59559) | _dump(type, data, error) {
method _verbose (line 59567) | _verbose(msg) {
method list (line 59571) | list(type, items, hints) {
method tree (line 59575) | tree(type, trees) {
method step (line 59579) | step(current, total, message) {
method inspect (line 59583) | inspect(value) {
method footer (line 59587) | footer(showPeakMemory) {
method log (line 59591) | log(msg) {
method command (line 59595) | command(msg) {
method table (line 59599) | table(head, body) {
method success (line 59603) | success(msg) {
method error (line 59607) | error(msg) {
method warn (line 59611) | warn(msg) {
method info (line 59615) | info(msg) {
method activitySet (line 59619) | activitySet(total, workers) {
method activity (line 59659) | activity() {
method _activity (line 59663) | _activity(data) {
method progress (line 59688) | progress(total) {
method auditAction (line 59709) | auditAction(recommendation) {
method auditAdvisory (line 59713) | auditAdvisory(resolution, auditAdvisory) {
method auditSummary (line 59717) | auditSummary(auditMetadata) {
function _load_semver (line 59736) | function _load_semver() {
function _load_minimatch (line 59742) | function _load_minimatch() {
function _load_map (line 59748) | function _load_map() {
function _load_normalizePattern (line 59754) | function _load_normalizePattern() {
function _load_parsePackagePath (line 59760) | function _load_parsePackagePath() {
function _load_parsePackagePath2 (line 59768) | function _load_parsePackagePath2() {
function _load_resolvers (line 59774) | function _load_resolvers() {
function _interopRequireDefault (line 59778) | function _interopRequireDefault(obj) {
class ResolutionMap (line 59785) | class ResolutionMap {
method constructor (line 59786) | constructor(config) {
method init (line 59793) | init(resolutions = {}) {
method addToDelayQueue (line 59807) | addToDelayQueue(req) {
method parsePatternInfo (line 59811) | parsePatternInfo(globPattern, range) {
method find (line 59850) | find(reqPattern, parentNames) {
function _load_asyncToGenerator (line 59923) | function _load_asyncToGenerator() {
function _load_path (line 59931) | function _load_path() {
function _load_invariant (line 59937) | function _load_invariant() {
function _load_uuid (line 59943) | function _load_uuid() {
function _load_errors (line 59949) | function _load_errors() {
function _load_exoticResolver (line 59955) | function _load_exoticResolver() {
function _load_misc (line 59963) | function _load_misc() {
function _load_fs (line 59969) | function _load_fs() {
function _interopRequireWildcard (line 59973) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 59989) | function _interopRequireDefault(obj) {
class FileResolver (line 59995) | class FileResolver extends (_exoticResolver || _load_exoticResolver())
method constructor (line 59997) | constructor(request, fragment) {
method isVersion (line 60005) | static isVersion(pattern) {
method resolve (line 60013) | resolve() {
function _load_errors (line 60112) | function _load_errors() {
function _load_gitResolver (line 60118) | function _load_gitResolver() {
function _load_exoticResolver (line 60126) | function _load_exoticResolver() {
function _load_misc (line 60134) | function _load_misc() {
function _interopRequireWildcard (line 60138) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 60154) | function _interopRequireDefault(obj) {
function explodeGistFragment (line 60158) | function explodeGistFragment(fragment, reporter) {
class GistResolver (line 60175) | class GistResolver extends (_exoticResolver || _load_exoticResolver())
method constructor (line 60177) | constructor(request, fragment) {
method resolve (line 60192) | resolve() {
function _load_asyncToGenerator (line 60215) | function _load_asyncToGenerator() {
function _load_cache (line 60223) | function _load_cache() {
function _load_errors (line 60229) | function _load_errors() {
function _load_registryResolver (line 60235) | function _load_registryResolver() {
function _load_npmRegistry (line 60243) | function _load_npmRegistry() {
function _load_map (line 60249) | function _load_map() {
function _load_fs (line 60255) | function _load_fs() {
function _load_constants (line 60261) | function _load_constants() {
function _load_packageNameUtils (line 60267) | function _load_packageNameUtils() {
function _interopRequireWildcard (line 60271) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 60287) | function _interopRequireDefault(obj) {
class NpmResolver (line 60299) | class NpmResolver extends (_registryResolver || _load_registryResolver())
method findVersionInRegistryResponse (line 60301) | static findVersionInRegistryResponse(
method resolveRequest (line 60384) | resolveRequest(desiredVersion) {
method resolveRequestOffline (line 60419) | resolveRequestOffline() {
method cleanRegistry (line 60506) | cleanRegistry(url) {
method resolve (line 60520) | resolve() {
function _load_asyncToGenerator (line 60647) | function _load_asyncToGenerator() {
function _load_fs (line 60722) | function _load_fs() {
function _load_promise (line 60728) | function _load_promise() {
function _load_fs2 (line 60734) | function _load_fs2() {
function _interopRequireDefault (line 60738) | function _interopRequireDefault(obj) {
function _load_asyncToGenerator (line 60883) | function _load_asyncToGenerator() {
function _load_extends (line 60891) | function _load_extends() {
function _load_invariant (line 60897) | function _load_invariant() {
function _load_string_decoder (line 60903) | function _load_string_decoder() {
function _load_tarFs (line 60909) | function _load_tarFs() {
function _load_tarStream (line 60915) | function _load_tarStream() {
function _load_url (line 60921) | function _load_url() {
function _load_fs (line 60927) | function _load_fs() {
function _load_errors (line 60933) | function _load_errors() {
function _load_gitSpawn (line 60939) | function _load_gitSpawn() {
function _load_gitRefResolver (line 60945) | function _load_gitRefResolver() {
function _load_crypto (line 60951) | function _load_crypto() {
function _load_fs2 (line 60957) | function _load_fs2() {
function _load_map (line 60963) | function _load_map() {
function _load_misc (line 60969) | function _load_misc() {
function _interopRequireWildcard (line 60973) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 60989) | function _interopRequireDefault(obj) {
class Git (line 61035) | class Git {
method constructor (line 61036) | constructor(config, gitUrl, hash) {
method npmUrlToGitUrl (line 61053) | static npmUrlToGitUrl(npmUrl) {
method hasArchiveCapability (line 61109) | static hasArchiveCapability(ref) {
method repoExists (line 61143) | static repoExists(ref) {
method replaceProtocol (line 61170) | static replaceProtocol(ref, protocol) {
method secureGitUrl (line 61181) | static secureGitUrl(ref, hash, reporter) {
method archive (line 61226) | archive(dest) {
method _archiveViaRemoteArchive (line 61234) | _archiveViaRemoteArchive(dest) {
method _archiveViaLocalFetched (line 61261) | _archiveViaLocalFetched(dest) {
method clone (line 61293) | clone(dest) {
method _cloneViaRemoteArchive (line 61301) | _cloneViaRemoteArchive(dest) {
method _cloneViaLocalFetched (line 61329) | _cloneViaLocalFetched(dest) {
method fetch (line 61362) | fetch() {
method getFile (line 61398) | getFile(filename) {
method _getFileFromArchive (line 61406) | _getFileFromArchive(filename) {
method _getFileFromClone (line 61460) | _getFileFromClone(filename) {
method init (line 61490) | init() {
method setRefRemote (line 61518) | setRefRemote() {
method setRefHosted (line 61547) | setRefHosted(hostedRefsList) {
method resolveDefaultBranch (line 61559) | resolveDefaultBranch() {
method resolveCommit (line 61625) | resolveCommit(shaToResolve) {
method setRef (line 61664) | setRef(refs) {
function _load_asyncToGenerator (line 61711) | function _load_asyncToGenerator() {
function _load_resolveRelative (line 61719) | function _load_resolveRelative() {
function _load_validate (line 61727) | function _load_validate() {
function _load_fix (line 61733) | function _load_fix() {
function _interopRequireDefault (line 61737) | function _interopRequireDefault(obj) {
function warn (line 61766) | function warn(msg) {
function isValidLicense (line 61835) | function isValidLicense(license) {
function isValidBin (line 61839) | function isValidBin(bin) {
function stringifyPerson (line 61843) | function stringifyPerson(person) {
function parsePerson (line 61866) | function parsePerson(person) {
function normalizePerson (line 61895) | function normalizePerson(person) {
function extractDescription (line 61899) | function extractDescription(readme) {
function extractRepositoryUrl (line 61935) | function extractRepositoryUrl(repository) {
function getPlatformSpecificPackageFilename (line 61954) | function getPlatformSpecificPackageFilename(pkg) {
function getSystemParams (line 61962) | function getSystemParams() {
function getUid (line 61980) | function getUid() {
function isFakeRoot (line 61988) | function isFakeRoot() {
function isRootUser (line 61992) | function isRootUser(uid) {
function getDataDir (line 62014) | function getDataDir() {
function getCacheDir (line 62033) | function getCacheDir() {
function getConfigDir (line 62050) | function getConfigDir() {
function getLocalAppDataDir (line 62065) | function getLocalAppDataDir() {
function explodeHashedUrl (line 62081) | function explodeHashedUrl(url) {
function balanced (line 62103) | function balanced(a, b, str) {
function maybeMatch (line 62120) | function maybeMatch(reg, str) {
function range (line 62126) | function range(a, b, str) {
function numeric (line 62178) | function numeric(str) {
function escapeBraces (line 62182) | function escapeBraces(str) {
function unescapeBraces (line 62196) | function unescapeBraces(str) {
function parseCommaParts (line 62213) | function parseCommaParts(str) {
function expandTop (line 62238) | function expandTop(str) {
function identity (line 62254) | function identity(e) {
function embrace (line 62258) | function embrace(str) {
function isPadded (line 62261) | function isPadded(el) {
function lte (line 62265) | function lte(i, y) {
function gte (line 62268) | function gte(i, y) {
function expand (line 62272) | function expand(str, isTop) {
function preserveCamelCase (line 62374) | function preserveCamelCase(str) {
function Caseless (line 62446) | function Caseless(dict) {
function useColors (line 63737) | function useColors() {
function formatArgs (line 63801) | function formatArgs(args) {
function log (line 63843) | function log() {
function save (line 63860) | function save(namespaces) {
function load (line 63877) | function load() {
function localstorage (line 63908) | function localstorage() {
function useColors (line 64010) | function useColors() {
function formatArgs (line 64046) | function formatArgs(args) {
function getDate (line 64064) | function getDate() {
function log (line 64076) | function log() {
function save (line 64087) | function save(namespaces) {
function load (line 64104) | function load() {
function init (line 64115) | function init(debug) {
function __webpack_require__ (line 64149) | function __webpack_require__(moduleId) {
function parse (line 64225) | function parse(code, options, delegate) {
function parseModule (line 64285) | function parseModule(code, options, delegate) {
function parseScript (line 64291) | function parseScript(code, options, delegate) {
function tokenize (line 64297) | function tokenize(code, options, delegate) {
function CommentHandler (line 64334) | function CommentHandler() {
function __ (line 64596) | function __() {
function getQualifiedElementName (line 64616) | function getQualifiedElementName(elementName) {
function JSXParser (line 64645) | function JSXParser(code, options, delegate) {
function JSXClosingElement (line 65374) | function JSXClosingElement(name) {
function JSXElement (line 65382) | function JSXElement(openingElement, children, closingElement) {
function JSXEmptyExpression (line 65392) | function JSXEmptyExpression() {
function JSXExpressionContainer (line 65399) | function JSXExpressionContainer(expression) {
function JSXIdentifier (line 65407) | function JSXIdentifier(name) {
function JSXMemberExpression (line 65415) | function JSXMemberExpression(object, property) {
function JSXAttribute (line 65424) | function JSXAttribute(name, value) {
function JSXNamespacedName (line 65433) | function JSXNamespacedName(namespace, name) {
function JSXOpeningElement (line 65442) | function JSXOpeningElement(name, selfClosing, attributes) {
function JSXSpreadAttribute (line 65452) | function JSXSpreadAttribute(argument) {
function JSXText (line 65460) | function JSXText(value, raw) {
function ArrayExpression (line 65498) | function ArrayExpression(elements) {
function ArrayPattern (line 65506) | function ArrayPattern(elements) {
function ArrowFunctionExpression (line 65514) | function ArrowFunctionExpression(params, body, expression) {
function AssignmentExpression (line 65527) | function AssignmentExpression(operator, left, right) {
function AssignmentPattern (line 65537) | function AssignmentPattern(left, right) {
function AsyncArrowFunctionExpression (line 65546) | function AsyncArrowFunctionExpression(
function AsyncFunctionDeclaration (line 65564) | function AsyncFunctionDeclaration(id, params, body) {
function AsyncFunctionExpression (line 65577) | function AsyncFunctionExpression(id, params, body) {
function AwaitExpression (line 65590) | function AwaitExpression(argument) {
function BinaryExpression (line 65598) | function BinaryExpression(operator, left, right) {
function BlockStatement (line 65611) | function BlockStatement(body) {
function BreakStatement (line 65619) | function BreakStatement(label) {
function CallExpression (line 65627) | function CallExpression(callee, args) {
function CatchClause (line 65636) | function CatchClause(param, body) {
function ClassBody (line 65645) | function ClassBody(body) {
function ClassDeclaration (line 65653) | function ClassDeclaration(id, superClass, body) {
function ClassExpression (line 65663) | function ClassExpression(id, superClass, body) {
function ComputedMemberExpression (line 65673) | function ComputedMemberExpression(object, property) {
function ConditionalExpression (line 65683) | function ConditionalExpression(test, consequent, alternate) {
function ContinueStatement (line 65693) | function ContinueStatement(label) {
function DebuggerStatement (line 65701) | function DebuggerStatement() {
function Directive (line 65708) | function Directive(expression, directive) {
function DoWhileStatement (line 65717) | function DoWhileStatement(body, test) {
function EmptyStatement (line 65726) | function EmptyStatement() {
function ExportAllDeclaration (line 65733) | function ExportAllDeclaration(source) {
function ExportDefaultDeclaration (line 65741) | function ExportDefaultDeclaration(declaration) {
function ExportNamedDeclaration (line 65749) | function ExportNamedDeclaration(
function ExportSpecifier (line 65763) | function ExportSpecifier(local, exported) {
function ExpressionStatement (line 65772) | function ExpressionStatement(expression) {
function ForInStatement (line 65780) | function ForInStatement(left, right, body) {
function ForOfStatement (line 65791) | function ForOfStatement(left, right, body) {
function ForStatement (line 65801) | function ForStatement(init, test, update, body) {
function FunctionDeclaration (line 65812) | function FunctionDeclaration(id, params, body, generator) {
function FunctionExpression (line 65825) | function FunctionExpression(id, params, body, generator) {
function Identifier (line 65838) | function Identifier(name) {
function IfStatement (line 65846) | function IfStatement(test, consequent, alternate) {
function ImportDeclaration (line 65856) | function ImportDeclaration(specifiers, source) {
function ImportDefaultSpecifier (line 65865) | function ImportDefaultSpecifier(local) {
function ImportNamespaceSpecifier (line 65873) | function ImportNamespaceSpecifier(local) {
function ImportSpecifier (line 65881) | function ImportSpecifier(local, imported) {
function LabeledStatement (line 65890) | function LabeledStatement(label, body) {
function Literal (line 65899) | function Literal(value, raw) {
function MetaProperty (line 65908) | function MetaProperty(meta, property) {
function MethodDefinition (line 65917) | function MethodDefinition(
function Module (line 65935) | function Module(body) {
function NewExpression (line 65944) | function NewExpression(callee, args) {
function ObjectExpression (line 65953) | function ObjectExpression(properties) {
function ObjectPattern (line 65961) | function ObjectPattern(properties) {
function Property (line 65969) | function Property(
function RegexLiteral (line 65989) | function RegexLiteral(value, raw, pattern, flags) {
function RestElement (line 65999) | function RestElement(argument) {
function ReturnStatement (line 66007) | function ReturnStatement(argument) {
function Script (line 66015) | function Script(body) {
function SequenceExpression (line 66024) | function SequenceExpression(expressions) {
function SpreadElement (line 66032) | function SpreadElement(argument) {
function StaticMemberExpression (line 66040) | function StaticMemberExpression(object, property) {
function Super (line 66050) | function Super() {
function SwitchCase (line 66057) | function SwitchCase(test, consequent) {
function SwitchStatement (line 66066) | function SwitchStatement(discriminant, cases) {
function TaggedTemplateExpression (line 66075) | function TaggedTemplateExpression(tag, quasi) {
function TemplateElement (line 66084) | function TemplateElement(value, tail) {
function TemplateLiteral (line 66093) | function TemplateLiteral(quasis, expressions) {
function ThisExpression (line 66102) | function ThisExpression() {
function ThrowStatement (line 66109) | function ThrowStatement(argument) {
function TryStatement (line 66117) | function TryStatement(block, handler, finalizer) {
function UnaryExpression (line 66127) | function UnaryExpression(operator, argument) {
function UpdateExpression (line 66137) | function UpdateExpression(operator, argument, prefix) {
function VariableDeclaration (line 66147) | function VariableDeclaration(declarations, kind) {
function VariableDeclarator (line 66156) | function VariableDeclarator(id, init) {
function WhileStatement (line 66165) | function WhileStatement(test, body) {
function WithStatement (line 66174) | function WithStatement(object, body) {
function YieldExpression (line 66183) | function YieldExpression(argument, delegate) {
function Parser (line 66207) | function Parser(code, options, delegate) {
method constructor (line 40341) | constructor(input, fileLoc = 'lockfile') {
method onComment (line 40347) | onComment(token) {
method next (line 40372) | next() {
method unexpected (line 40392) | unexpected(msg = 'Unexpected token') {
method expect (line 40398) | expect(tokType) {
method eat (line 40406) | eat(tokType) {
method parse (line 40415) | parse(indent = 0) {
function assert (line 70345) | function assert(condition, message) {
function ErrorHandler (line 70361) | function ErrorHandler() {
function hexValue (line 70531) | function hexValue(ch) {
function octalValue (line 70534) | function octalValue(ch) {
function Scanner (line 70538) | function Scanner(code, handler) {
function Reader (line 72160) | function Reader() {
function Tokenizer (line 72286) | function Tokenizer(code, config) {
function rethrow (line 72712) | function rethrow() {
function maybeCallback (line 72744) | function maybeCallback(cb) {
function start (line 72789) | function start() {
function start (line 72890) | function start() {
function LOOP (line 72912) | function LOOP() {
function gotStat (line 72940) | function gotStat(err, stat) {
function gotTarget (line 72969) | function gotTarget(err, target, base) {
function gotResolvedLink (line 72977) | function gotResolvedLink(resolvedLink) {
function globSync (line 73008) | function globSync(pattern, options) {
function GlobSync (line 73018) | function GlobSync(pattern, options) {
function ValidationError (line 73456) | function ValidationError(errors) {
function MissingRefError (line 73466) | function MissingRefError(baseId, ref, message) {
function errorSubclass (line 73474) | function errorSubclass(Subclass) {
function resolve (line 73509) | function resolve(compile, root, ref) {
function resolveSchema (line 73552) | function resolveSchema(root, ref) {
function resolveRecursive (line 73583) | function resolveRecursive(root, ref, parsedRef) {
function getJsonPointer (line 73604) | function getJsonPointer(parsedRef, baseId, schema, root) {
function inlineRef (line 73653) | function inlineRef(schema, limit) {
function checkNoRef (line 73659) | function checkNoRef(schema) {
function countKeys (line 73676) | function countKeys(schema) {
function getFullPath (line 73700) | function getFullPath(id, normalize) {
function _getFullPath (line 73706) | function _getFullPath(p) {
function normalizeId (line 73719) | function normalizeId(id) {
function resolveUrl (line 73723) | function resolveUrl(baseId, id) {
function resolveIds (line 73729) | function resolveIds(schema) {
function inflight (line 73875) | function inflight(key, cb) {
function makeres (line 73885) | function makeres(key) {
function slice (line 73916) | function slice(args) {
function deprecated (line 76237) | function deprecated(name) {
function compileStyleMap (line 76347) | function compileStyleMap(schema, map) {
function encodeHex (line 76374) | function encodeHex(character) {
function State (line 76399) | function State(options) {
function indentString (line 76425) | function indentString(string, spaces) {
function generateNextLine (line 76451) | function generateNextLine(state, level) {
function testImplicitResolving (line 76455) | function testImplicitResolving(state, str) {
function isWhitespace (line 76474) | function isWhitespace(c) {
function isPrintable (line 76482) | function isPrintable(c) {
function isPlainSafe (line 76492) | function isPlainSafe(c) {
function isPlainSafeFirst (line 76511) | function isPlainSafeFirst(c) {
function needIndentIndicator (line 76545) | function needIndentIndicator(string) {
function chooseScalarStyle (line 76563) | function chooseScalarStyle(
function writeScalar (line 76642) | function writeScalar(state, string, level, iskey) {
function blockHeader (line 76715) | function blockHeader(string, indentPerLevel) {
function dropEndingNewline (line 76730) | function dropEndingNewline(string) {
function foldString (line 76738) | function foldString(string, width) {
function foldLine (line 76776) | function foldLine(line, width) {
function escapeString (line 76819) | function escapeString(string) {
function writeFlowSequence (line 76849) | function writeFlowSequence(state, level, object) {
function writeBlockSequence (line 76867) | function writeBlockSequence(state, level, object, compact) {
function writeFlowMapping (line 76894) | function writeFlowMapping(state, level, object) {
function writeBlockMapping (line 76942) | function writeBlockMapping(state, level, object, compact) {
function detectType (line 77021) | function detectType(state, object, explicit) {
function writeNode (line 77068) | function writeNode(state, level, object, block, compact, iskey) {
function getDuplicateReferences (line 77155) | function getDuplicateReferences(object, state) {
function inspectNode (line 77173) | function inspectNode(object, objects, duplicatesIndexes) {
function dump (line 77212) | function dump(input, options) {
function safeDump (line 77224) | function safeDump(input, options) {
function _class (line 77267) | function _class(obj) {
function is_EOL (line 77271) | function is_EOL(c) {
function is_WHITE_SPACE (line 77275) | function is_WHITE_SPACE(c) {
function is_WS_OR_EOL (line 77279) | function is_WS_OR_EOL(c) {
function is_FLOW_INDICATOR (line 77288) | function is_FLOW_INDICATOR(c) {
function fromHexCode (line 77298) | function fromHexCode(c) {
function escapedHexLen (line 77315) | function escapedHexLen(c) {
function fromDecimalCode (line 77328) | function fromDecimalCode(c) {
function simpleEscapeSequence (line 77336) | function simpleEscapeSequence(c) {
function charFromCodepoint (line 77377) | function charFromCodepoint(c) {
function State (line 77396) | function State(input, options) {
function generateError (line 77428) | function generateError(state, message) {
function throwError (line 77441) | function throwError(state, message) {
function throwWarning (line 77445) | function throwWarning(state, message) {
function captureSegment (line 77521) | function captureSegment(state, start, end, checkJson) {
function mergeMappings (line 77551) | function mergeMappings(state, destination, source, overridableKeys) {
function storeMappingPair (line 77577) | function storeMappingPair(
function readLineBreak (line 77658) | function readLineBreak(state) {
function skipSeparationSpace (line 77678) | function skipSeparationSpace(state, allowComments, checkIndent) {
function testDocumentSeparator (line 77720) | function testDocumentSeparator(state) {
function writeFoldedLines (line 77745) | function writeFoldedLines(state, count) {
function readPlainScalar (line 77753) | function readPlainScalar(state, nodeIndent, withinFlowCollection) {
function readSingleQuotedScalar (line 77868) | function readSingleQuotedScalar(state, nodeIndent) {
function readDoubleQuotedScalar (line 77921) | function readDoubleQuotedScalar(state, nodeIndent) {
function readFlowCollection (line 78000) | function readFlowCollection(state, nodeIndent) {
function readBlockScalar (line 78124) | function readBlockScalar(state, nodeIndent) {
function readBlockSequence (line 78281) | function readBlockSequence(state, nodeIndent) {
function readBlockMapping (line 78345) | function readBlockMapping(state, nodeIndent, flowIndent) {
function readTagProperty (line 78546) | function readTagProperty(state) {
function readAnchorProperty (line 78652) | function readAnchorProperty(state) {
function readAlias (line 78681) | function readAlias(state) {
function composeNode (line 78713) | function composeNode(
function readDocument (line 78913) | function readDocument(state) {
function loadDocuments (line 79050) | function loadDocuments(input, options) {
function loadAll (line 79086) | function loadAll(input, iterator, options) {
function load (line 79100) | function load(input, options) {
function safeLoadAll (line 79114) | function safeLoadAll(input, output, options) {
function safeLoad (line 79129) | function safeLoad(input, options) {
function Mark (line 79149) | function Mark(name, buffer, position, line, column) {
function resolveYamlBinary (line 79255) | function resolveYamlBinary(data) {
function constructYamlBinary (line 79281) | function constructYamlBinary(data) {
function representYamlBinary (line 79328) | function representYamlBinary(object /*, style*/) {
function isBinary (line 79373) | function isBinary(object) {
function resolveYamlBoolean (line 79393) | function resolveYamlBoolean(data) {
function constructYamlBoolean (line 79406) | function constructYamlBoolean(data) {
function isBoolean (line 79410) | function isBoolean(object) {
function resolveYamlFloat (line 79456) | function resolveYamlFloat(data) {
function constructYamlFloat (line 79471) | function constructYamlFloat(data) {
function representYamlFloat (line 79508) | function representYamlFloat(object, style) {
function isFloat (line 79550) | function isFloat(object) {
function isHexCode (line 79575) | function isHexCode(c) {
function isOctCode (line 79583) | function isOctCode(c) {
function isDecCode (line 79587) | function isDecCode(c) {
function resolveYamlInteger (line 79591) | function resolveYamlInteger(data) {
function constructYamlInteger (line 79676) | function constructYamlInteger(data) {
function isInteger (line 79722) | function isInteger(object) {
function resolveJavascriptFunction (line 79792) | function resolveJavascriptFunction(data) {
function constructJavascriptFunction (line 79815) | function constructJavascriptFunction(data) {
function representJavascriptFunction (line 79851) | function representJavascriptFunction(object /*, style*/) {
function isFunction (line 79855) | function isFunction(object) {
function resolveJavascriptRegExp (line 79875) | function resolveJavascriptRegExp(data) {
function constructJavascriptRegExp (line 79897) | function constructJavascriptRegExp(data) {
function representJavascriptRegExp (line 79911) | function representJavascriptRegExp(object /*, style*/) {
function isRegExp (line 79921) | function isRegExp(object) {
function resolveJavascriptUndefined (line 79941) | function resolveJavascriptUndefined() {
function constructJavascriptUndefined (line 79945) | function constructJavascriptUndefined() {
function representJavascriptUndefined (line 79950) | function representJavascriptUndefined() {
function isUndefined (line 79954) | function isUndefined(object) {
function resolveYamlMerge (line 79989) | function resolveYamlMerge(data) {
function resolveYamlNull (line 80006) | function resolveYamlNull(data) {
function constructYamlNull (line 80017) | function constructYamlNull() {
function isNull (line 80021) | function isNull(object) {
function resolveYamlOmap (line 80058) | function resolveYamlOmap(data) {
function constructYamlOmap (line 80091) | function constructYamlOmap(data) {
function resolveYamlPairs (line 80111) | function resolveYamlPairs(data) {
function constructYamlPairs (line 80138) | function constructYamlPairs(data) {
function resolveYamlSet (line 80192) | function resolveYamlSet(data) {
function constructYamlSet (line 80207) | function constructYamlSet(data) {
function resolveYamlTimestamp (line 80259) | function resolveYamlTimestamp(data) {
function constructYamlTimestamp (line 80266) | function constructYamlTimestamp(data) {
function representYamlTimestamp (line 80329) | function representYamlTimestamp(object /*, style*/) {
function parse (line 80544) | function parse(str) {
function fmtShort (line 80606) | function fmtShort(ms) {
function fmtLong (line 80630) | function fmtLong(ms) {
function plural (line 80644) | function plural(ms, n, name) {
function toObject (line 80676) | function toObject(val) {
function shouldUseNative (line 80686) | function shouldUseNative() {
function hasOwnProperty (line 80795) | function hasOwnProperty(obj, prop) {
function isEmpty (line 80803) | function isEmpty(value) {
function toString (line 80820) | function toString(type) {
function isObject (line 80824) | function isObject(obj) {
function isBoolean (line 80835) | function isBoolean(obj) {
function getKey (line 80841) | function getKey(key) {
function factory (line 80849) | function factory(options) {
function paramsHaveRequestBody (line 81100) | function paramsHaveRequestBody(params) {
function safeStringify (line 81109) | function safeStringify(obj, replacer) {
function md5 (line 81119) | function md5(str) {
function isReadStream (line 81123) | function isReadStream(rs) {
function toBase64 (line 81127) | function toBase64(str) {
function copy (line 81131) | function copy(obj) {
function version (line 81139) | function version() {
function specifierIncluded (line 81167) | function specifierIncluded(specifier) {
function matchesRange (line 81189) | function matchesRange(range) {
function versionIncluded (line 81202) | function versionIncluded(specifierValue) {
function defaults (line 81251) | function defaults(options) {
function rimraf (line 81268) | function rimraf(p, options, cb) {
function rimraf_ (line 81360) | function rimraf_(p, options, cb) {
function fixWinEPERM (line 81390) | function fixWinEPERM(p, options, er, cb) {
function fixWinEPERMSync (line 81407) | function fixWinEPERMSync(p, options, er) {
function rmdir (line 81430) | function rmdir(p, options, originalEr, cb) {
function rmkids (line 81452) | function rmkids(p, options, cb) {
function rimrafSync (line 81475) | function rimrafSync(p, options) {
function rmdirSync (line 81533) | function rmdirSync(p, options, originalEr) {
function rmkidsSync (line 81552) | function rmkidsSync(p, options) {
function ReplaySubject (line 81612) | function ReplaySubject(bufferSize, windowTime, scheduler) {
function ReplayEvent (line 81725) | function ReplayEvent(time, value) {
function combineLatest (line 81762) | function combineLatest() {
function CombineLatestOperator (line 81797) | function CombineLatestOperator(resultSelector) {
function CombineLatestSubscriber (line 81813) | function CombineLatestSubscriber(destination, resultSelector) {
function defer (line 81908) | function defer(observableFactory) {
function of (line 81947) | function of() {
function scalar (line 81995) | function scalar(value) {
function throwError (line 82018) | function throwError(error, scheduler) {
function dispatch (line 82036) | function dispatch(_a) {
function zip (line 82073) | function zip() {
function ZipOperator (line 82090) | function ZipOperator(resultSelector) {
function ZipSubscriber (line 82106) | function ZipSubscriber(destination, resultSelector, values) {
function StaticIterator (line 82223) | function StaticIterator(iterator) {
function StaticArrayIterator (line 82242) | function StaticArrayIterator(array) {
function ZipBufferIterator (line 82275) | function ZipBufferIterator(destination, parent, observable) {
function mergeAll (line 82350) | function mergeAll(concurrent) {
function refCount (line 82375) | function refCount() {
function RefCountOperator (line 82381) | function RefCountOperator(connectable) {
function RefCountSubscriber (line 82401) | function RefCountSubscriber(destination, connectable) {
function scan (line 82449) | function scan(accumulator, seed) {
function ScanOperator (line 82459) | function ScanOperator(accumulator, seed, hasSeed) {
function ScanSubscriber (line 82484) | function ScanSubscriber(destination, accumulator, _seed, hasSeed) {
function switchMap (line 82546) | function switchMap(project, resultSelector) {
function SwitchMapOperator (line 82573) | function SwitchMapOperator(project) {
function SwitchMapSubscriber (line 82588) | function SwitchMapSubscriber(destination, project) {
function take (line 82677) | function take(count) {
function TakeOperator (line 82689) | function TakeOperator(total) {
function TakeSubscriber (line 82707) | function TakeSubscriber(destination, total) {
function takeLast (line 82744) | function takeLast(count) {
function TakeLastOperator (line 82756) | function TakeLastOperator(total) {
function TakeLastSubscriber (line 82776) | function TakeLastSubscriber(destination, total) {
function canReportError (line 82843) | function canReportError(observer) {
function hostReportError (line 82873) | function hostReportError(err) {
function pipe (line 82891) | function pipe() {
function pipeFromArray (line 82898) | function pipeFromArray(fns) {
function DiffieHellman (line 82939) | function DiffieHellman(key) {
function X9ECParameters (line 83195) | function X9ECParameters(name) {
function ECPublic (line 83225) | function ECPublic(params, buffer) {
function ECPrivate (line 83231) | function ECPrivate(params, buffer) {
function generateED25519 (line 83241) | function generateED25519() {
function generateECDSA (line 83261) | function generateECDSA(curve) {
function read (line 83365) | function read(buf, options) {
function readRFC3110 (line 83395) | function readRFC3110(keyString) {
function elementToBuf (line 83452) | function elementToBuf(e) {
function readDNSSECRSAPrivateKey (line 83456) | function readDNSSECRSAPrivateKey(elements) {
function readDNSSECPrivateKey (line 83493) | function readDNSSECPrivateKey(alg, elements) {
function dnssecTimestamp (line 83526) | function dnssecTimestamp(date) {
function rsaAlgFromOptions (line 83535) | function rsaAlgFromOptions(opts) {
function writeRSA (line 83543) | function writeRSA(key, options) {
function writeECDSA (line 83576) | function writeECDSA(key, options) {
function write (line 83599) | function write(key, options) {
function read (line 83648) | function read(buf, options) {
function write (line 83652) | function write(key, options) {
function readMPInt (line 83657) | function readMPInt(der, nm) {
function readPkcs1 (line 83666) | function readPkcs1(alg, type, der) {
function readPkcs1RSAPublic (line 83690) | function readPkcs1RSAPublic(der) {
function readPkcs1RSAPrivate (line 83707) | function readPkcs1RSAPrivate(der) {
function readPkcs1DSAPrivate (line 83739) | function readPkcs1DSAPrivate(der) {
function readPkcs1EdDSAPrivate (line 83764) | function readPkcs1EdDSAPrivate(der) {
function readPkcs1DSAPublic (line 83789) | function readPkcs1DSAPublic(der) {
function readPkcs1ECDSAPublic (line 83808) | function readPkcs1ECDSAPublic(der) {
function readPkcs1ECDSAPrivate (line 83842) | function readPkcs1ECDSAPrivate(der) {
function writePkcs1 (line 83869) | function writePkcs1(der, key) {
function writePkcs1RSAPublic (line 83896) | function writePkcs1RSAPublic(der, key) {
function writePkcs1RSAPrivate (line 83901) | function writePkcs1RSAPrivate(der, key) {
function writePkcs1DSAPrivate (line 83916) | function writePkcs1DSAPrivate(der, key) {
function writePkcs1DSAPublic (line 83927) | function writePkcs1DSAPublic(der, key) {
function writePkcs1ECDSAPublic (line 83934) | function writePkcs1ECDSAPublic(der, key) {
function writePkcs1ECDSAPrivate (line 83949) | function writePkcs1ECDSAPrivate(der, key) {
function writePkcs1EdDSAPrivate (line 83968) | function writePkcs1EdDSAPrivate(der, key) {
function writePkcs1EdDSAPublic (line 83983) | function writePkcs1EdDSAPublic(der, key) {
function _load_constants (line 84176) | function _load_constants() {
function _load_access (line 84182) | function _load_access() {
function _load_add (line 84188) | function _load_add() {
function _load_audit (line 84194) | function _load_audit() {
function _load_autoclean (line 84200) | function _load_autoclean() {
function _load_bin (line 84206) | function _load_bin() {
function _load_cache (line 84212) | function _load_cache() {
function _load_check (line 84218) | function _load_check() {
function _load_config (line 84224) | function _load_config() {
function _load_create (line 84230) | function _load_create() {
function _load_exec (line 84236) | function _load_exec() {
function _load_generateLockEntry (line 84242) | function _load_generateLockEntry() {
function _load_global (line 84250) | function _load_global() {
function _load_help (line 84256) | function _load_help() {
function _load_import (line 84262) | function _load_import() {
function _load_info (line 84268) | function _load_info() {
function _load_init (line 84274) | function _load_init() {
function _load_install (line 84280) | function _load_install() {
function _load_licenses (line 84286) | function _load_licenses() {
function _load_link (line 84292) | function _load_link() {
function _load_login (line 84298) | function _load_login() {
function _load_logout (line 84304) | function _load_logout() {
function _load_list (line 84310) | function _load_list() {
function _load_node (line 84316) | function _load_node() {
function _load_outdated (line 84322) | function _load_outdated() {
function _load_owner (line 84328) | function _load_owner() {
function _load_pack (line 84334) | function _load_pack() {
function _load_policies (line 84340) | function _load_policies() {
function _load_publish (line 84346) | function _load_publish() {
function _load_remove (line 84352) | function _load_remove() {
function _load_run (line 84358) | function _load_run() {
function _load_tag (line 84364) | function _load_tag() {
function _load_team (line 84370) | function _load_team() {
function _load_unplug (line 84376) | function _load_unplug() {
function _load_unlink (line 84382) | function _load_unlink() {
function _load_upgrade (line 84388) | function _load_upgrade() {
function _load_version (line 84394) | function _load_version() {
function _load_versions (line 84400) | function _load_versions() {
function _load_why (line 84406) | function _load_why() {
function _load_workspaces (line 84412) | function _load_workspaces() {
function _load_workspace (line 84420) | function _load_workspace() {
function _load_upgradeInteractive (line 84426) | function _load_upgradeInteractive() {
function _load_useless (line 84434) | function _load_useless() {
function _load_aliases (line 84440) | function _load_aliases() {
function _interopRequireDefault (line 84444) | function _interopRequireDefault(obj) {
function _interopRequireWildcard (line 84448) | function _interopRequireWildcard(obj) {
function _load_fs (line 84552) | function _load_fs() {
function _load_path (line 84558) | function _load_path() {
function _load_commander (line 84564) | function _load_commander() {
function _load_lockfile (line 84570) | function _load_lockfile() {
function _load_rc (line 84576) | function _load_rc() {
function _interopRequireWildcard (line 84580) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 84596) | function _interopRequireDefault(obj) {
function getRcConfigForCwd (line 84612) | function getRcConfigForCwd(cwd, args) {
function getRcConfigForFolder (line 84645) | function getRcConfigForFolder(cwd) {
function loadRcFile (line 84658) | function loadRcFile(fileText, filePath) {
function buildRcArgs (line 84684) | function buildRcArgs(cwd, args) {
function extractCwdArg (line 84723) | function extractCwdArg(args) {
function getRcArgs (line 84736) | function getRcArgs(commandName, args, previousCwds = []) {
function boolify (line 84779) | function boolify(val) {
function boolifyWithDefault (line 84783) | function boolifyWithDefault(val, defaultResult) {
function isOffline (line 84804) | function isOffline() {
function Option (line 84904) | function Option(flags, description) {
function Command (line 84958) | function Command(name) {
function camelcase (line 86063) | function camelcase(flag) {
function pad (line 86078) | function pad(str, width) {
function outputHelpIfNecessary (line 86091) | function outputHelpIfNecessary(cmd, options) {
function humanReadableArgName (line 86109) | function humanReadableArgName(arg) {
function exists (line 86116) | function exists(file) {
function abort (line 86144) | function abort(state) {
function clean (line 86157) | function clean(key) {
function async (line 86179) | function async(callback) {
function iterate (line 86215) | function iterate(list, iterator, state, callback) {
function runJob (line 86259) | function runJob(iterator, key, item, callback) {
function state (line 86290) | function state(list, sortMethod) {
function terminator (line 86329) | function terminator(callback) {
function serialOrdered (line 86366) | function serialOrdered(list, iterator, sortMethod, callback) {
function ascending (line 86401) | function ascending(a, b) {
function descending (line 86412) | function descending(a, b) {
function _load_asyncToGenerator (line 86443) | function _load_asyncToGenerator() {
function _load_promise (line 86525) | function _load_promise() {
function _load_hoistedTreeBuilder (line 86531) | function _load_hoistedTreeBuilder() {
function _load_getTransitiveDevDependencies (line 86537) | function _load_getTransitiveDevDependencies() {
function _load_install (line 86543) | function _load_install() {
function _load_lockfile (line 86549) | function _load_lockfile() {
function _load_constants (line 86555) | function _load_constants() {
function _interopRequireDefault (line 86559) | function _interopRequireDefault(obj) {
function setFlags (line 86567) | function setFlags(commander) {
function hasWrapper (line 86588) | function hasWrapper(commander, args) {
class Audit (line 86592) | class Audit {
method constructor (line 86593) | constructor(config, reporter, options) {
method _mapHoistedNodes (line 86601) | _mapHoistedNodes(auditNode, hoistedNodes, transitiveDevDeps) {
method _mapHoistedTreesToAuditTree (line 86673) | _mapHoistedTreesToAuditTree(manifest, hoistedTrees, transitiveDevDeps) {
method _fetchAudit (line 86696) | _fetchAudit(auditTree) {
method _insertWorkspacePackagesIntoManifest (line 86742) | _insertWorkspacePackagesIntoManifest(manifest, resolver) {
method performAudit (line 86765) | performAudit(manifest, lockfile, resolver, linker, patterns) {
method summary (line 86797) | summary() {
method report (line 86804) | report() {
function _load_asyncToGenerator (line 86880) | function _load_asyncToGenerator() {
function _load_index (line 87236) | function _load_index() {
function _load_filter (line 87242) | function _load_filter() {
function _load_constants (line 87248) | function _load_constants() {
function _load_fs (line 87254) | function _load_fs() {
function _interopRequireWildcard (line 87258) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 87274) | function _interopRequireDefault(obj) {
function setFlags (line 87332) | function setFlags(commander) {
function hasWrapper (line 87351) | function hasWrapper(commander) {
function _load_asyncToGenerator (line 87371) | function _load_asyncToGenerator() {
function _load_buildSubCommands (line 87657) | function _load_buildSubCommands() {
function _load_fs (line 87665) | function _load_fs() {
function _interopRequireWildcard (line 87669) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 87685) | function _interopRequireDefault(obj) {
function hasWrapper (line 87693) | function hasWrapper(flags, args) {
function _getMetadataWithPath (line 87697) | function _getMetadataWithPath(getMetadataFn, paths) {
method ls (line 87712) | ls(config, reporter, flags, args) {
method dir (line 87724) | dir(config, reporter) {
function setFlags (line 87734) | function setFlags(commander) {
function _load_asyncToGenerator (line 87762) | function _load_asyncToGenerator() {
function reportError (line 87777) | function reportError(msg, ...vars) {
function reportError (line 87948) | function reportError(msg, ...vars) {
function humaniseLocation (line 88055) | function humaniseLocation(loc) {
function reportError (line 88080) | function reportError(msg, ...vars) {
function _load_errors (line 88413) | function _load_errors() {
function _load_integrityChecker (line 88419) | function _load_integrityChecker() {
function _load_integrityChecker2 (line 88427) | function _load_integrityChecker2() {
function _load_lockfile (line 88433) | function _load_lockfile() {
function _load_fs (line 88439) | function _load_fs() {
function _load_install (line 88445) | function _load_install() {
function _load_normalizePattern (line 88451) | function _load_normalizePattern() {
function _interopRequireWildcard (line 88455) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 88471) | function _interopRequireDefault(obj) {
function hasWrapper (line 88481) | function hasWrapper(commander) {
function setFlags (line 88485) | function setFlags(commander) {
function _load_asyncToGenerator (line 88506) | function _load_asyncToGenerator() {
function _load_errors (line 88641) | function _load_errors() {
function _load_fs (line 88647) | function _load_fs() {
function _load_global (line 88653) | function _load_global() {
function _interopRequireWildcard (line 88657) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 88673) | function _interopRequireDefault(obj) {
function hasWrapper (line 88682) | function hasWrapper(commander, args) {
function setFlags (line 88686) | function setFlags(commander) {
function _load_asyncToGenerator (line 88703) | function _load_asyncToGenerator() {
function _load_install (line 89029) | function _load_install() {
function _load_lockfile (line 89035) | function _load_lockfile() {
function _interopRequireDefault (line 89039) | function _interopRequireDefault(obj) {
function buildCount (line 89049) | function buildCount(trees) {
function getParent (line 89088) | function getParent(key, treesByKey) {
function hasWrapper (line 89093) | function hasWrapper(commander, args) {
function setFlags (line 89097) | function setFlags(commander) {
function getReqDepth (line 89109) | function getReqDepth(inputDepth) {
function filterTree (line 89113) | function filterTree(tree, filters, pattern = '') {
function getDevDeps (line 89130) | function getDevDeps(manifest) {
function _load_extends (line 89155) | function _load_extends() {
function _load_asyncToGenerator (line 89161) | function _load_asyncToGenerator() {
function _load_lockfile (line 89382) | function _load_lockfile() {
function _load_index (line 89388) | function _load_index() {
function _load_install (line 89394) | function _load_install() {
function _load_errors (line 89400) | function _load_errors() {
function _load_index2 (line 89406) | function _load_index2() {
function _load_fs (line 89412) | function _load_fs() {
function _load_constants (line 89418) | function _load_constants() {
function _interopRequireWildcard (line 89422) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 89438) | function _interopRequireDefault(obj) {
function setFlags (line 89448) | function setFlags(commander) {
function hasWrapper (line 89459) | function hasWrapper(commander, args) {
function _load_asyncToGenerator (line 89476) | function _load_asyncToGenerator() {
function runCommand (line 89860) | function runCommand([action, ...args]) {
function _load_executeLifecycleScript (line 89946) | function _load_executeLifecycleScript() {
function _load_dynamicRequire (line 89952) | function _load_dynamicRequire() {
function _load_hooks (line 89958) | function _load_hooks() {
function _load_errors (line 89964) | function _load_errors() {
function _load_packageCompatibility (line 89970) | function _load_packageCompatibility() {
function _load_fs (line 89976) | function _load_fs() {
function _load_constants (line 89982) | function _load_constants() {
function _interopRequireWildcard (line 89986) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 90002) | function _interopRequireDefault(obj) {
function toObject (line 90017) | function toObject(input) {
function setFlags (line 90049) | function setFlags(commander) {
function hasWrapper (line 90053) | function hasWrapper(commander, args) {
function _load_asyncToGenerator (line 90074) | function _load_asyncToGenerator() {
function _load_buildSubCommands (line 90206) | function _load_buildSubCommands() {
function _load_login (line 90214) | function _load_login() {
function _load_npmRegistry (line 90220) | function _load_npmRegistry() {
function _load_errors (line 90226) | function _load_errors() {
function _load_normalizePattern (line 90232) | function _load_normalizePattern() {
function _load_validate (line 90238) | function _load_validate() {
function _interopRequireDefault (line 90242) | function _interopRequireDefault(obj) {
function setFlags (line 90246) | function setFlags(commander) {
method add (line 90254) | add(config, reporter, flags, args) {
method rm (line 90321) | rm(config, reporter, flags, args) {
method remove (line 90333) | remove(config, reporter, flags, args) {
method ls (line 90342) | ls(config, reporter, flags, args) {
method list (line 90354) | list(config, reporter, flags, args) {
function _load_extends (line 90386) | function _load_extends() {
function _load_asyncToGenerator (line 90392) | function _load_asyncToGenerator() {
function _load_inquirer (line 90695) | function _load_inquirer() {
function _load_lockfile (line 90701) | function _load_lockfile() {
function _load_add (line 90707) | function _load_add() {
function _load_upgrade (line 90713) | function _load_upgrade() {
function _load_colorForVersions (line 90719) | function _load_colorForVersions() {
function _load_colorizeDiff (line 90727) | function _load_colorizeDiff() {
function _load_install (line 90735) | function _load_install() {
function _interopRequireDefault (line 90739) | function _interopRequireDefault(obj) {
function setFlags (line 90747) | function setFlags(commander) {
function hasWrapper (line 90774) | function hasWrapper(commander, args) {
function _load_asyncToGenerator (line 90791) | function _load_asyncToGenerator() {
function runLifecycle (line 90822) | function runLifecycle(lifecycle) {
function isCommitHooksDisabled (line 90838) | function isCommitHooksDisabled() {
function _load_index (line 91083) | function _load_index() {
function _load_executeLifecycleScript (line 91089) | function _load_executeLifecycleScript() {
function _load_errors (line 91095) | function _load_errors() {
function _load_gitSpawn (line 91101) | function _load_gitSpawn() {
function _load_fs (line 91107) | function _load_fs() {
function _load_map (line 91113) | function _load_map() {
function _interopRequireWildcard (line 91117) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 91133) | function _interopRequireDefault(obj) {
function isValidNewVersion (line 91142) | function isValidNewVersion(
function setFlags (line 91154) | function setFlags(commander) {
function hasWrapper (line 91190) | function hasWrapper(commander, args) {
function _load_extends (line 91207) | function _load_extends() {
function _load_asyncToGenerator (line 91213) | function _load_asyncToGenerator() {
function _load_errors (line 91221) | function _load_errors() {
function _load_constants (line 91227) | function _load_constants() {
function _load_baseFetcher (line 91233) | function _load_baseFetcher() {
function _load_fs (line 91241) | function _load_fs() {
function _load_misc (line 91247) | function _load_misc() {
function _load_normalizeUrl (line 91253) | function _load_normalizeUrl() {
function _interopRequireWildcard (line 91259) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 91275) | function _interopRequireDefault(obj) {
class TarballFetcher (line 91312) | class TarballFetcher extends (_baseFetcher || _load_baseFetcher())
method constructor (line 91314) | constructor(...args) {
method setupMirrorFromCache (line 91325) | setupMirrorFromCache() {
method getTarballCachePath (line 91355) | getTarballCachePath() {
method getTarballMirrorPath (line 91362) | getTarballMirrorPath() {
method createExtractor (line 91389) | createExtractor(resolve, reject, tarballPath) {
method getLocalPaths (line 91532) | getLocalPaths(override) {
method fetchFromLocal (line 91542) | fetchFromLocal(override) {
method fetchFromExternal (line 91601) | fetchFromExternal() {
method requestHeaders (line 91682) | requestHeaders() {
method _fetch (line 91703) | _fetch() {
method _findIntegrity (line 91725) | _findIntegrity({ hashOnly }) {
method _supportedIntegrity (line 91735) | _supportedIntegrity({ hashOnly }) {
class LocalTarballFetcher (line 91787) | class LocalTarballFetcher extends TarballFetcher {
method _fetch (line 91788) | _fetch() {
function urlParts (line 91795) | function urlParts(requestUrl) {
function _load_misc (line 91816) | function _load_misc() {
class PackageReference (line 91820) | class PackageReference {
method constructor (line 91821) | constructor(request, info, remote) {
method setFresh (line 91850) | setFresh(fresh) {
method addLocation (line 91854) | addLocation(loc) {
method addRequest (line 91860) | addRequest(request) {
method prune (line 91866) | prune() {
method addDependencies (line 91893) | addDependencies(deps) {
method setPermission (line 91897) | setPermission(key, val) {
method hasPermission (line 91901) | hasPermission(key) {
method addPattern (line 91909) | addPattern(pattern, manifest) {
method addOptional (line 91948) | addOptional(optional) {
function _load_asyncToGenerator (line 91973) | function _load_asyncToGenerator() {
function _load_index (line 91981) | function _load_index() {
function _load_packageRequest (line 91987) | function _load_packageRequest() {
function _load_normalizePattern (line 91995) | function _load_normalizePattern() {
function _load_requestManager (line 92001) | function _load_requestManager() {
function _load_blockingQueue (line 92009) | function _load_blockingQueue() {
function _load_lockfile (line 92017) | function _load_lockfile() {
function _load_map (line 92023) | function _load_map() {
function _load_workspaceLayout (line 92029) | function _load_workspaceLayout() {
function _load_resolutionMap (line 92037) | function _load_resolutionMap() {
function _load_resolutionMap2 (line 92045) | function _load_resolutionMap2() {
function _interopRequireDefault (line 92049) | function _interopRequireDefault(obj) {
class PackageResolver (line 92057) | class PackageResolver {
method constructor (line 92058) | constructor(
method isNewPattern (line 92110) | isNewPattern(pattern) {
method updateManifest (line 92114) | updateManifest(ref, newPkg) {
method updateManifests (line 92151) | updateManifests(newPkgs) {
method dedupePatterns (line 92214) | dedupePatterns(patterns) {
method getTopologicalManifests (line 92257) | getTopologicalManifests(seedPatterns) {
method getLevelOrderManifests (line 92307) | getLevelOrderManifests(seedPatterns) {
method getAllDependencyNamesByLevelOrder (line 92386) | getAllDependencyNamesByLevelOrder(seedPatterns) {
method getAllInfoForPackageName (line 92421) | getAllInfoForPackageName(name) {
method getAllInfoForPatterns (line 92430) | getAllInfoForPatterns(patterns) {
method getManifests (line 92473) | getManifests() {
method replacePattern (line 92493) | replacePattern(pattern, newPattern) {
method collapseAllVersionsOfPackage (line 92507) | collapseAllVersionsOfPackage(name, version) {
method collapsePackageVersions (line 92515) | collapsePackageVersions(name, version, patterns) {
method addPattern (line 92628) | addPattern(pattern, info) {
method removePattern (line 92642) | removePattern(pattern) {
method getResolvedPattern (line 92661) | getResolvedPattern(pattern) {
method getStrictResolvedPattern (line 92669) | getStrictResolvedPattern(pattern) {
method getExactVersionMatch (line 92679) | getExactVersionMatch(name, version, manifest) {
method getHighestRangeVersionMatch (line 92731) | getHighestRangeVersionMatch(name, range, manifest) {
method exoticRangeMatch (line 92765) | exoticRangeMatch(resolvedPkgs, manifest) {
method isLockfileEntryOutdated (line 92788) | isLockfileEntryOutdated(version, range, hasVersion) {
method find (line 92802) | find(initialReq) {
method init (line 92873) | init(
method optimizeResolutions (line 92984) | optimizeResolutions(name) {
method reportPackageWithExistingVersion (line 93053) | reportPackageWithExistingVersion(req, info) {
method resolvePackagesWithExistingVersions (line 93062) | resolvePackagesWithExistingVersions() {
method resolveToResolution (line 93092) | resolveToResolution(req) {
function _load_hostedGitResolver (line 93146) | function _load_hostedGitResolver() {
function _interopRequireDefault (line 93152) | function _interopRequireDefault(obj) {
class GitHubResolver (line 93156) | class GitHubResolver extends (
method isVersion (line 93159) | static isVersion(pattern) {
method getTarballUrl (line 93173) | static getTarballUrl(parts, hash) {
method getGitSSHUrl (line 93177) | static getGitSSHUrl(parts) {
method getGitHTTPBaseUrl (line 93184) | static getGitHTTPBaseUrl(parts) {
method getGitHTTPUrl (line 93188) | static getGitHTTPUrl(parts) {
method getHTTPFileUrl (line 93192) | static getHTTPFileUrl(parts, filename, commit) {
function _load_asyncToGenerator (line 93213) | function _load_asyncToGenerator() {
function _load_exoticResolver (line 93221) | function _load_exoticResolver() {
function _load_misc (line 93229) | function _load_misc() {
function _load_fs (line 93235) | function _load_fs() {
function _interopRequireWildcard (line 93239) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 93255) | function _interopRequireDefault(obj) {
class LinkResolver (line 93263) | class LinkResolver extends (_exoticResolver || _load_exoticResolver())
method constructor (line 93265) | constructor(request, fragment) {
method resolve (line 93273) | resolve() {
function _load_semver (line 93337) | function _load_semver() {
function _load_semver2 (line 93343) | function _load_semver2() {
function _load_constants (line 93349) | function _load_constants() {
function _interopRequireDefault (line 93353) | function _interopRequireDefault(obj) {
function _load_misc (line 93407) | function _load_misc() {
function sortFilter (line 93416) | function sortFilter(
function matchesFilter (line 93622) | function matchesFilter(filter, basename, loc) {
function ignoreLinesToRegex (line 93639) | function ignoreLinesToRegex(lines, base = '.') {
function filterOverridenGitignores (line 93687) | function filterOverridenGitignores(files) {
function _load_extends (line 93729) | function _load_extends() {
function _load_path (line 93735) | function _load_path() {
function _load_child (line 93741) | function _load_child() {
function _interopRequireWildcard (line 93745) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 93761) | function _interopRequireDefault(obj) {
function callThroughHook (line 93815) | function callThroughHook(type, fn, context) {
function parsePackagePath (line 93881) | function parsePackagePath(input) {
function isValidPackagePath (line 93887) | function isValidPackagePath(input) {
function _load_path (line 93905) | function _load_path() {
function getPosixPath (line 93911) | function getPosixPath(path) {
function resolveWithHome (line 93915) | function resolveWithHome(path) {
function _load_fs (line 93936) | function _load_fs() {
function _load_http (line 93942) | function _load_http() {
function _load_url (line 93948) | function _load_url() {
function _load_dnscache (line 93954) | function _load_dnscache() {
function _load_invariant (line 93960) | function _load_invariant() {
function _load_requestCaptureHar (line 93966) | function _load_requestCaptureHar() {
function _load_errors (line 93974) | function _load_errors() {
function _load_blockingQueue (line 93980) | function _load_blockingQueue() {
function _load_constants (line 93988) | function _load_constants() {
function _load_network (line 93994) | function _load_network() {
function _load_map (line 94000) | function _load_map() {
function _interopRequireWildcard (line 94004) | function _interopRequireWildcard(obj) {
function _interopRequireDefault (line 94020) | function _interopRequireDefault(obj) {
class RequestManager (line 94036) | class RequestManager {
method constructor (line 94037) | constructor(reporter) {
method setOptions (line 94056) | setOptions(opts) {
method _getRequestModule (line 94136) | _getRequestModule() {
method request (line 94157) | request(params) {
method clearCache (line 94200) | clearCache() {
method isPossibleOfflineError (line 94211) | isPossibleOfflineError(err) {
method queueForRetry (line 94256) | queueForRetry(opts) {
method initOfflineRetry (line 94304) | initOfflineRetry() {
method execute (line 94340) | execute(opts) {
method shiftQueue (line 94571) | shiftQueue() {
method saveHar (line 94582) | saveHar(filename) {
function F (line 94915) | function F(S, x8, i) {
function stream2word (line 94949) | function stream2word(data, databytes) {
function bcrypt_hash (line 95034) | function bcrypt_hash(sha2pass, sha2salt, out) {
function bcrypt_pbkdf (line 95062) | function bcrypt_pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds) {
function codeRegex (line 95217) | function codeRegex(capture) {
function strlen (line 95223) | function strlen(str) {
function repeat (line 95232) | function repeat(str, times) {
function pad (line 95236) | function pad(str, len, pad, dir) {
function addToCodeCache (line 95261) | function addToCodeCache(name, on, off) {
function updateState (line 95276) | function updateState(state, controlChars) {
function readState (line 95309) | function readState(line) {
function unwindState (line 95320) | function unwindState(state, ret) {
function rewindState (line 95343) | function rewindState(state, ret) {
function truncateWidth (line 95366) | function truncateWidth(str, desiredLength) {
function truncateWidthWithAnsi (line 95378) | function truncateWidthWithAnsi(str, desiredLength) {
function truncate (line 95409) | function truncate(str, desiredLength, truncateChar) {
function defaultOptions (line 95422) | function defaultOptions() {
function mergeOptions (line 95457) | function mergeOptions(options, defaults) {
function wordWrap (line 95466) | function wordWrap(maxLength, input) {
function multiLineWordWrap (line 95496) | function multiLineWordWrap(maxLength, input) {
function colorizeLines (line 95505) | function colorizeLines(input) {
function createPromise (line 95558) | function createPromise() {
function co (line 95572) | function co(gen) {
function toPromise (line 95651) | function toPromise(obj) {
function thunkToPromise (line 95670) | function thunkToPromise(fn) {
function arrayToPromise (line 95690) | function arrayToPromise(obj) {
function objectToPromise (line 95703) | function objectToPromise(obj) {
function isPromise (line 95736) | function isPromise(obj) {
function isGenerator (line 95748) | function isGenerator(obj) {
function isGeneratorFunction (line 95759) | function isGeneratorFunction(obj) {
function isObject (line 95778) | function isObject(val) {
function comparativeDistance (line 95957) | function comparativeDistance(x, y) {
function CombinedStream (line 96713) | function CombinedStream() {
function unstupid (line 97182) | function unstupid(hex, len) {
function clone (line 97328) | function clone(obj) {
function noop (line 97356) | function noop() {}
function patch (line 97403) | function patch(fs) {
function enqueue (line 97592) | function enqueue(elem) {
function retry (line 97597) | function retry() {
function SchemaObject (line 97615) | function SchemaObject(obj) {
function $shouldUseGroup (line 98970) | function $shouldUseGroup($rulesGroup) {
function $shouldUseRule (line 98976) | function $shouldUseRule($rule) {
function $ruleImplementsSomeKeyword (line 98983) | function $ruleImplementsSomeKeyword($rule) {
class InputPrompt (line 99006) | class InputPrompt extends Base {
method _run (line 99013) | _run(cb) {
method render (line 99039) | render(error) {
method filterInput (line 99069) | filterInput(input) {
method onEnd (line 99076) | onEnd(state) {
method onError (line 99087) | onError(state) {
method onKeypress (line 99095) | onKeypress() {
class UI (line 99121) | class UI {
method constructor (line 99122) | constructor(opt) {
method onForceClose (line 99144) | onForceClose() {
method close (line 99154) | close() {
function setupReadlineOptions (line 99175) | function setupReadlineOptions(opt) {
function isStream (line 100058) | function isStream(obj) {
function isReadable (line 100062) | function isReadable(obj) {
function isWritable (line 100070) | function isWritable(obj) {
function isDuplex (line 100078) | function isDuplex(obj) {
function charset (line 100138) | function charset(type) {
function contentType (line 100166) | function contentType(str) {
function extension (line 100194) | function extension(type) {
function lookup (line 100219) | function lookup(path) {
function populateMaps (line 100241) | function populateMaps(extensions, types) {
function MuteStream (line 100291) | function MuteStream(opts) {
function onPipe (line 100328) | function onPipe(src) {
function getIsTTY (line 100339) | function getIsTTY() {
function setIsTTY (line 100348) | function setIsTTY(isTTY) {
function proxy (line 100433) | function proxy(fn) {
function testParameter (line 100478) | function testParameter(name, filters) {
function _uint8ArrayToBuffer (line 100959) | function _uint8ArrayToBuffer(chunk) {
function _isUint8Array (line 100962) | function _isUint8Array(obj) {
function prependListener (line 100991) | function prependListener(emitter, event, fn) {
function ReadableState (line 101007) | function ReadableState(options, stream) {
function Readable (line 101089) | function Readable(options) {
function readableAddChunk (line 101165) | function readableAddChunk(
function addChunk (line 101218) | function addChunk(stream, state, chunk, addToFront) {
function chunkInvalid (line 101233) | function chunkInvalid(state, chunk) {
function needMoreData (line 101253) | function needMoreData(state) {
function computeNewHighWaterMark (line 101277) | function computeNewHighWaterMark(n) {
function howMuchToRead (line 101296) | function howMuchToRead(n, state) {
function onEofChunk (line 101424) | function onEofChunk(stream, state) {
function emitReadable (line 101442) | function emitReadable(stream) {
function emitReadable_ (line 101453) | function emitReadable_(stream) {
function maybeReadMore (line 101465) | function maybeReadMore(stream, state) {
function maybeReadMore_ (line 101472) | function maybeReadMore_(stream, state) {
function onunpipe (line 101526) | function onunpipe(readable, unpipeInfo) {
function onend (line 101536) | function onend() {
function cleanup (line 101549) | function cleanup() {
function ondata (line 101581) | function ondata(chunk) {
function onerror (line 101608) | function onerror(er) {
function onclose (line 101619) | function onclose() {
function onfinish (line 101624) | function onfinish() {
function unpipe (line 101631) | function unpipe() {
function pipeOnDrain (line 101648) | function pipeOnDrain(src) {
function nReadingNextTick (line 101736) | function nReadingNextTick(self) {
function resume (line 101753) | function resume(stream, state) {
function resume_ (line 101760) | function resume_(stream, state) {
function flow (line 101783) | function flow(stream) {
function fromList (line 101871) | function fromList(n, state) {
function fromListPartial (line 101894) | function fromListPartial(n, list, hasStrings) {
function copyFromBufferString (line 101916) | function copyFromBufferString(n, list) {
function copyFromBuffer (line 101947) | function copyFromBuffer(n, list) {
function endReadable (line 101975) | function endReadable(stream) {
function endReadableNT (line 101989) | function endReadableNT(state, stream) {
function indexOf (line 101998) | function indexOf(xs, x) {
function afterTransform (line 102084) | function afterTransform(er, data) {
function Transform (line 102113) | function Transform(options) {
function prefinish (line 102146) | function prefinish() {
function done (line 102218) | function done(stream, er, data) {
function WriteReq (line 102274) | function WriteReq(chunk, encoding, cb) {
function CorkedRequest (line 102283) | function CorkedRequest(state) {
function _uint8ArrayToBuffer (line 102327) | function _uint8ArrayToBuffer(chunk) {
function _isUint8Array (line 102330) | function _isUint8Array(obj) {
function nop (line 102340) | function nop() {}
function WritableState (line 102342) | function WritableState(options, stream) {
function Writable (line 102505) | function Writable(options) {
function writeAfterEnd (line 102547) | function writeAfterEnd(stream, cb) {
function validChunk (line 102557) | function validChunk(stream, state, chunk, cb) {
function decodeChunk (line 102656) | function decodeChunk(state, chunk, encoding) {
function writeOrBuffer (line 102680) | function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
function doWrite (line 102719) | function doWrite(stream, state, writev, len, chunk, encoding, cb) {
function onwriteError (line 102729) | function onwriteError(stream, state, sync, er, cb) {
function onwriteStateUpdate (line 102753) | function onwriteStateUpdate(state) {
function onwrite (line 102760) | function onwrite(stream, er) {
function afterWrite (line 102791) | function afterWrite(stream, state, finished, cb) {
function onwriteDrain (line 102801) | function onwriteDrain(stream, state) {
function clearBuffer (line 102809) | function clearBuffer(stream, state) {
function needFinish (line 102900) | function needFinish(state) {
function callFinal (line 102909) | function callFinal(stream, state) {
function prefinish (line 102920) | function prefinish(stream, state) {
function finishMaybe (line 102933) | function finishMaybe(stream, state) {
function endWritable (line 102945) | function endWritable(stream, state, cb) {
function onCorkedFinish (line 102956) | function onCorkedFinish(corkReq, state, err) {
function destroy (line 103011) | function destroy(err, cb) {
function undestroy (line 103057) | function undestroy() {
function emitErrorNT (line 103074) | function emitErrorNT(self, err) {
function RequestJar (line 103133) | function RequestJar(store) {
function pathMatch (line 103194) | function pathMatch(reqPath, cookiePath) {
function permuteDomain (line 103261) | function permuteDomain(domain) {
function Store (line 111876) | function Store() {}
function BehaviorSubject (line 112009) | function BehaviorSubject(_value) {
function Scheduler (line 112099) | function Scheduler(SchedulerAction, now) {
function SubjectSubscription (line 112143) | function SubjectSubscription(subject, subscriber) {
function ConnectableObservable (line 112214) | function ConnectableObservable(source, subjectFactory) {
function ConnectableSubscriber (line 112284) | function ConnectableSubscriber(destination, connectable) {
function RefCountOperator (line 112314) | function RefCountOperator(connectable) {
function RefCountSubscriber (line 112334) | function RefCountSubscriber(destination, connectable) {
function merge (line 112386) | function merge() {
function never (line 112451) | function never() {
function race (line 112476) | function race() {
function RaceOperator (line 112500) | function RaceOperator() {}
function RaceSubscriber (line 112512) | function RaceSubscriber(destination) {
function timer (line 112588) | function timer(dueTime, periodOrScheduler, scheduler) {
function dispatch (line 112634) | function dispatch(state) {
function audit (line 112667) | function audit(durationSelector) {
function AuditOperator (line 112673) | function AuditOperator(durationSelector) {
function AuditSubscriber (line 112688) | function AuditSubscriber(destination, durationSelector) {
function concatAll (line 112771) | function concatAll() {
function concatMap (line 112788) | function concatMap(project, resultSelector) {
function distinctUntilChanged (line 112812) | function distinctUntilChanged(compare, keySelector) {
function DistinctUntilChangedOperator (line 112820) | function DistinctUntilChangedOperator(compare, keySelector) {
function DistinctUntilChangedSubscriber (line 112843) | function DistinctUntilChangedSubscriber(
function find (line 112928) | func
Copy disabled (too large)
Download .json
Condensed preview — 811 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (16,912K chars).
[
{
"path": ".changeset/README.md",
"chars": 510,
"preview": "# Changesets\n\nHello and welcome! This folder has been automatically generated by\n`@changesets/cli`, a build tool that wo"
},
{
"path": ".changeset/config.json",
"chars": 318,
"preview": "{\n \"$schema\": \"https://unpkg.com/@changesets/config@2.3.1/schema.json\",\n \"changelog\": \"@changesets/cli/changelog\",\n \""
},
{
"path": ".changeset/fast-plants-peel.md",
"chars": 148,
"preview": "---\n\"@hyperdx/api\": patch\n\"@hyperdx/app\": patch\n\"@hyperdx/otel-collector\": patch\n---\n\nci: Replace QEMU with native ARM64"
},
{
"path": ".claude/agents/playwright-test-generator.md",
"chars": 4972,
"preview": "---\nname: playwright-test-generator\ndescription: 'Use this agent when you need to create automated browser tests using P"
},
{
"path": ".claude/agents/playwright-test-healer.md",
"chars": 4401,
"preview": "---\nname: playwright-test-healer\ndescription: Use this agent when you need to debug and fix failing Playwright tests\ntoo"
},
{
"path": ".claude/agents/playwright-test-planner.md",
"chars": 3561,
"preview": "---\nname: playwright-test-planner\ndescription: Use this agent when you need to create comprehensive test plan for a web "
},
{
"path": ".claude/skills/playwright/SKILL.md",
"chars": 4023,
"preview": "---\nname: playwright\ndescription: Writes end-to-end tests code using Playwright browser automation.\n---\n\n# Playwright En"
},
{
"path": ".cursor/mcp.json",
"chars": 133,
"preview": "{\n \"mcpServers\": {\n \"playwright-test\": {\n \"command\": \"npx\",\n \"args\": [\"playwright\", \"run-test-mcp-server\"]"
},
{
"path": ".cursor/rules/playwright.mdc",
"chars": 427,
"preview": "---\ndescription: HyperDX Playwright E2E test conventions for writing, reviewing, and fixing tests. Use when creating, ed"
},
{
"path": ".gitattributes",
"chars": 26,
"preview": "/.yarn/releases/** binary\n"
},
{
"path": ".github/pull_request_template.md",
"chars": 791,
"preview": "## Summary\n\n<!--\nDescribe what changed and why.\nWrite for reviewers who may not be familiar with this area of the produc"
},
{
"path": ".github/workflows/claude-code-review.yml",
"chars": 5709,
"preview": "name: Claude Code Review\n\non:\n pull_request_target:\n types: [opened, synchronize, ready_for_review]\n workflow_dispa"
},
{
"path": ".github/workflows/claude.yml",
"chars": 1596,
"preview": "name: Claude Code\n\non:\n issue_comment:\n types: [created]\n pull_request_review_comment:\n types: [created]\n issue"
},
{
"path": ".github/workflows/e2e-tests.yml",
"chars": 2993,
"preview": "name: E2E Tests\non:\n workflow_call:\n\njobs:\n e2e-tests:\n name: E2E Tests - Shard ${{ matrix.shard }}\n runs-on: ub"
},
{
"path": ".github/workflows/main.yml",
"chars": 9658,
"preview": "name: Main\non:\n push:\n branches: [main, v1]\n pull_request:\n branches: [main, v1]\nconcurrency:\n group: ${{ githu"
},
{
"path": ".github/workflows/push.yml",
"chars": 1094,
"preview": "name: Push Downstream\non:\n push:\n branches: [main]\nconcurrency:\n group: ${{ github.workflow }}-${{ github.ref }}\n "
},
{
"path": ".github/workflows/pushv1.yml",
"chars": 987,
"preview": "name: Push Downstream V1\non:\n push:\n branches: [v1]\nconcurrency:\n group: ${{ github.workflow }}-${{ github.ref }}\n "
},
{
"path": ".github/workflows/release-nightly.yml",
"chars": 15117,
"preview": "name: Release Nightly\non:\n schedule:\n # Run at 0:00 AM UTC every day\n - cron: '0 0 * * *'\n workflow_dispatch:\nco"
},
{
"path": ".github/workflows/release.yml",
"chars": 20790,
"preview": "name: Release\non:\n push:\n branches: [main]\npermissions:\n contents: write\n packages: write\n pull-requests: write\n "
},
{
"path": ".github/workflows/security-audit.yml",
"chars": 412,
"preview": "name: Vulnerability Alerts\n\non:\n schedule:\n - cron: '0 9 * * *' # Daily at 9am UTC\n workflow_dispatch:\n\njobs:\n ale"
},
{
"path": ".gitignore",
"chars": 1325,
"preview": "# Claude Code user-local settings (not project config)\n.claude/settings.local.json\n\n# Override global .gitignore to trac"
},
{
"path": ".husky/pre-commit",
"chars": 77,
"preview": "#!/usr/bin/env sh\nset -e\n\n. \"$(dirname -- \"$0\")/_/husky.sh\"\n\nnpx lint-staged\n"
},
{
"path": ".kodiak.toml",
"chars": 4800,
"preview": "version = 1\n\n[merge]\n# Label to enable Kodiak to merge a PR.\nautomerge_label = \"automerge\"\n\n# When disabled, Kodiak will"
},
{
"path": ".mcp.json",
"chars": 133,
"preview": "{\n \"mcpServers\": {\n \"playwright-test\": {\n \"command\": \"npx\",\n \"args\": [\"playwright\", \"run-test-mcp-server\"]"
},
{
"path": ".nvmrc",
"chars": 8,
"preview": "22.21.1\n"
},
{
"path": ".opencode/commands/do-linear.md",
"chars": 2190,
"preview": "---\ndescription:\n Fetch a Linear ticket, implement the fix/feature, test, commit, push, and\n raise a PR\n---\n\nLook up t"
},
{
"path": ".opencode/commands/plan-linear.md",
"chars": 877,
"preview": "---\ndescription: Research a Linear ticket and create an implementation plan\nagent: plan\n---\n\nLook up the Linear ticket $"
},
{
"path": ".prettierignore",
"chars": 43,
"preview": "# Ignore artifacts:\ndist\ncoverage\n.volumes\n"
},
{
"path": ".prettierrc",
"chars": 251,
"preview": "{\n \"printWidth\": 80,\n \"tabWidth\": 2,\n \"useTabs\": false,\n \"semi\": true,\n \"singleQuote\": true,\n \"trailingComma\": \"al"
},
{
"path": ".vex/openssl-mongodb.vex.json",
"chars": 8024,
"preview": "{\n \"@context\": \"https://openvex.dev/ns/v0.2.0\",\n \"@id\": \"https://github.com/hyperdxio/hyperdx/blob/main/.vex/openssl-m"
},
{
"path": ".vscode/extensions.json",
"chars": 245,
"preview": "{\n \"recommendations\": [\n \"vunguyentuan.vscode-css-variables\",\n \"clinyong.vscode-css-modules\",\n \"streetsidesoft"
},
{
"path": ".vscode/settings.json",
"chars": 1199,
"preview": "{\n \"editor.tabSize\": 2,\n \"editor.insertSpaces\": true,\n \"editor.detectIndentation\": false,\n \"editor.formatOnSave\": tr"
},
{
"path": ".yarn/releases/yarn-1.22.18.cjs",
"chars": 6351942,
"preview": "#!/usr/bin/env node\nmodule.exports = /******/ (function (modules) {\n // webpackBootstrap\n /******/ // The module cache"
},
{
"path": ".yarn/releases/yarn-4.5.1.cjs",
"chars": 2763798,
"preview": "#!/usr/bin/env node\n/* eslint-disable */\n//prettier-ignore\n(()=>{var j3e=Object.create;var gT=Object.defineProperty;var "
},
{
"path": ".yarnrc.yml",
"chars": 66,
"preview": "nodeLinker: node-modules\n\nyarnPath: .yarn/releases/yarn-4.5.1.cjs\n"
},
{
"path": "AGENTS.md",
"chars": 6719,
"preview": "# HyperDX Development Guide\n\n## What is HyperDX?\n\nHyperDX is an observability platform that helps engineers search, visu"
},
{
"path": "CLAUDE.md",
"chars": 11,
"preview": "@AGENTS.md\n"
},
{
"path": "CONTRIBUTING.md",
"chars": 4003,
"preview": "# Contributing\n\n## Architecture Overview\n\n\n\nService Descriptions:\n\n- O"
},
{
"path": "DEPLOY.md",
"chars": 2761,
"preview": "# HyperDX Deployment Guide\n\n[HyperDX](https://hyperdx.io) helps engineers quickly figure out why production\nis broken by"
},
{
"path": "LICENSE",
"chars": 1077,
"preview": "MIT License\n\nCopyright (c) 2023 DeploySentinel, Inc.\n\nPermission is hereby granted, free of charge, to any person obtain"
},
{
"path": "LOCAL.md",
"chars": 4143,
"preview": "# HyperDX Local\n\nHyperDX Local is a single container local-optimized version of [HyperDX](https://www.hyperdx.io/) that "
},
{
"path": "Makefile",
"chars": 6946,
"preview": "LATEST_VERSION := $$(sed -n 's/.*\"version\": \"\\([^\"]*\\)\".*/\\1/p' package.json)\nBUILD_PLATFORMS = linux/arm64,linux/amd64\n"
},
{
"path": "README.md",
"chars": 6006,
"preview": "<p align=\"center\">\n <a href=\"https://hyperdx.io\">\n <picture>\n <source media=\"(prefers-color-scheme: dark)\" srcs"
},
{
"path": "agent_docs/README.md",
"chars": 1493,
"preview": "# Agent Documentation Directory\n\nThis directory contains detailed documentation for AI coding agents working on the Hype"
},
{
"path": "agent_docs/architecture.md",
"chars": 2645,
"preview": "# HyperDX Architecture\n\n## Core Services\n\n- **HyperDX UI (`packages/app`)**: Next.js frontend serving the user interface"
},
{
"path": "agent_docs/code_style.md",
"chars": 3943,
"preview": "# Code Style & Best Practices\n\n> **Note**: Pre-commit hooks handle formatting automatically. Focus on implementation pat"
},
{
"path": "agent_docs/development.md",
"chars": 4526,
"preview": "# Development Workflows\n\n## Setup Commands\n\n```bash\n# Install dependencies and setup hooks\nyarn setup\n\n# Start full deve"
},
{
"path": "agent_docs/tech_stack.md",
"chars": 1169,
"preview": "# HyperDX Technology Stack\n\n## Frontend (`packages/app`)\n\n- **Framework**: Next.js 14 with TypeScript\n- **UI Components*"
},
{
"path": "docker/clickhouse/local/config.xml",
"chars": 6457,
"preview": "<?xml version=\"1.0\"?>\n<clickhouse>\n <logger>\n <level>debug</level>\n <console>true</console>\n <lo"
},
{
"path": "docker/clickhouse/local/init-db-e2e.sh",
"chars": 11991,
"preview": "#!/bin/bash\nset -e\n\n# E2E-specific database initialization script\n# Creates tables with e2e_ prefix to avoid collision w"
},
{
"path": "docker/clickhouse/local/users.xml",
"chars": 1390,
"preview": "<?xml version=\"1.0\"?>\n<clickhouse>\n <profiles>\n <default>\n <max_memory_usage>10000000000</max_memor"
},
{
"path": "docker/hostmetrics/Dockerfile",
"chars": 1196,
"preview": "## base #############################################################################################\nFROM otel/opentele"
},
{
"path": "docker/hostmetrics/config.dev.yaml",
"chars": 676,
"preview": "receivers:\n mongodb:\n hosts:\n - endpoint: db:27017\n collection_interval: 5s\n initial_delay: 1s\n tls:\n "
},
{
"path": "docker/hyperdx/Dockerfile",
"chars": 10187,
"preview": "# Starts several services in a single container\n# For production build:\n# - API (Node)\n# - App (Frontend)\n# For all-in-o"
},
{
"path": "docker/hyperdx/build.sh",
"chars": 431,
"preview": "#!/bin/bash\n# Meant to be run from the root of the repo\n\n# No Auth\ndocker build --squash . -f ./docker/hyperdx/Dockerfil"
},
{
"path": "docker/hyperdx/clickhouseConfig.xml",
"chars": 6370,
"preview": "<?xml version=\"1.0\"?>\n<clickhouse>\n <logger>\n <level from_env=\"CLICKHOUSE_LOG_LEVEL\" />\n <console>false"
},
{
"path": "docker/hyperdx/entry.local.auth.sh",
"chars": 138,
"preview": "#!/bin/bash\n\n# Set auth mode\nexport IS_LOCAL_APP_MODE=\"REQUIRED_AUTH\"\n\n# Source the common entry script\nsource \"/etc/loc"
},
{
"path": "docker/hyperdx/entry.local.base.sh",
"chars": 8765,
"preview": "#!/bin/bash\n\nexport HYPERDX_LOG_LEVEL=\"error\"\n# https://clickhouse.com/docs/en/operations/server-configuration-parameter"
},
{
"path": "docker/hyperdx/entry.local.noauth.sh",
"chars": 158,
"preview": "#!/bin/bash\n\n# Set no auth mode\nexport IS_LOCAL_APP_MODE=\"DANGEROUSLY_is_local_app_mode💀\"\n\n# Source the common entry scr"
},
{
"path": "docker/hyperdx/entry.prod.sh",
"chars": 879,
"preview": "#!/bin/bash\n\nexport FRONTEND_URL=\"${FRONTEND_URL:-${HYPERDX_APP_URL:-http://localhost}:${HYPERDX_APP_PORT:-8080}}\"\nexpor"
},
{
"path": "docker/nginx/README.md",
"chars": 696,
"preview": "# Setup SSL nginx reverse proxy\n\n1. Install mkcert [mkcert](https://github.com/FiloSottile/mkcert)\n2. Exec `mkcert mydom"
},
{
"path": "docker/nginx/nginx.conf",
"chars": 1326,
"preview": "# Main NGINX configuration\nuser nginx;\nworker_processes auto;\n\n# Error log\nerror_log /var/log/nginx/error.log warn;\npid "
},
{
"path": "docker/otel-collector/Dockerfile",
"chars": 4500,
"preview": "## base #############################################################################################\nFROM otel/opentele"
},
{
"path": "docker/otel-collector/config.standalone.auth.yaml",
"chars": 499,
"preview": "# This configuration enables bearer token authentication for the OTLP receiver\n# Only included when OTLP_AUTH_TOKEN envi"
},
{
"path": "docker/otel-collector/config.standalone.yaml",
"chars": 2190,
"preview": "# This configuration is derived from packages/api/src/opamp/controllers/opampController.ts\n# When updating this file, en"
},
{
"path": "docker/otel-collector/config.yaml",
"chars": 3565,
"preview": "# Receivers are now configured dynamically in opampController.ts\nprocessors:\n transform:\n log_statements:\n - co"
},
{
"path": "docker/otel-collector/custom.config.yaml",
"chars": 1233,
"preview": "receivers:\n hostmetrics:\n collection_interval: 5s\n scrapers:\n cpu:\n load:\n memory:\n disk:\n "
},
{
"path": "docker/otel-collector/entrypoint.sh",
"chars": 3636,
"preview": "#!/bin/sh\nset -e\n\n# Fall back to legacy schema when the ClickHouse JSON feature gate is enabled\nif echo \"$OTEL_AGENT_FEA"
},
{
"path": "docker/otel-collector/log-tailer.sh",
"chars": 734,
"preview": "#!/bin/sh\n# Generic log tailer script that follows a log file and echoes new lines to stdout\n# Usage: log-tailer.sh <log"
},
{
"path": "docker/otel-collector/schema/README.md",
"chars": 219,
"preview": "# Tables and schemas used by ClickStack\n\nAll schemas in this directory are referenced from [Tables and schemas used by C"
},
{
"path": "docker/otel-collector/schema/seed/00001_create_database.sql",
"chars": 81,
"preview": "-- +goose Up\n-- +goose NO TRANSACTION\nCREATE DATABASE IF NOT EXISTS ${DATABASE};\n"
},
{
"path": "docker/otel-collector/schema/seed/00002_otel_logs.sql",
"chars": 2865,
"preview": "-- +goose Up\nCREATE TABLE IF NOT EXISTS ${DATABASE}.otel_logs\n(\n `Timestamp` DateTime64(9) CODEC(Delta(8), ZSTD(1)),\n "
},
{
"path": "docker/otel-collector/schema/seed/00003_otel_metrics.sql",
"chars": 10588,
"preview": "-- +goose Up\nCREATE TABLE IF NOT EXISTS ${DATABASE}.otel_metrics_gauge\n(\n `ResourceAttributes` Map(LowCardinality(Str"
},
{
"path": "docker/otel-collector/schema/seed/00004_hyperdx_sessions.sql",
"chars": 1812,
"preview": "-- +goose Up\nCREATE TABLE IF NOT EXISTS ${DATABASE}.hyperdx_sessions\n(\n `Timestamp` DateTime64(9) CODEC(Delta(8), ZSTD("
},
{
"path": "docker/otel-collector/schema/seed/00005_otel_traces.sql",
"chars": 2268,
"preview": "-- +goose Up\nCREATE TABLE IF NOT EXISTS ${DATABASE}.otel_traces\n(\n `Timestamp` DateTime64(9) CODEC(Delta(8), ZSTD(1))"
},
{
"path": "docker/otel-collector/supervisor_docker.yaml.tmpl",
"chars": 961,
"preview": "# https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/opampsupervisor/specification/README.m"
},
{
"path": "docker-compose.ci.yml",
"chars": 1241,
"preview": "name: hdx-ci\nservices:\n otel-collector:\n build:\n context: .\n dockerfile: docker/otel-collector/Dockerfile\n"
},
{
"path": "docker-compose.dev.yml",
"chars": 5036,
"preview": "name: hdx-oss-dev\nx-hyperdx-logging: &hyperdx-logging\n driver: fluentd\n options:\n fluentd-address: tcp://localhost:"
},
{
"path": "docker-compose.yml",
"chars": 6160,
"preview": "name: hdx-oss\nservices:\n # ONLY USED FOR DEMO SSL SETUP\n # nginx:\n # image: nginx:1.27.3\n # volumes:\n # - ."
},
{
"path": "nx.json",
"chars": 741,
"preview": "{\n \"affected\": {\n \"defaultBase\": \"main\"\n },\n \"workspaceLayout\": {\n \"appsDir\": \"packages\",\n \"libsDir\": \"packa"
},
{
"path": "package.json",
"chars": 3282,
"preview": "{\n \"name\": \"hyperdx\",\n \"private\": true,\n \"version\": \"2.0.0\",\n \"license\": \"MIT\",\n \"workspaces\": [\n \"packages/*\"\n "
},
{
"path": "packages/api/.Dockerignore",
"chars": 24,
"preview": "**/node_modules\n**/build"
},
{
"path": "packages/api/.spectral.yaml",
"chars": 1405,
"preview": "extends:\n - spectral:oas\n\nrules:\n # Require operation IDs on all endpoints\n operation-operationId: error\n\n # Require"
},
{
"path": "packages/api/CHANGELOG.md",
"chars": 31017,
"preview": "# @hyperdx/api\n\n## 2.22.0\n\n### Patch Changes\n\n- f410e6dc: Bump AI SDK to v6\n- e05bd6b6: Include saved search filters in "
},
{
"path": "packages/api/Dockerfile",
"chars": 3306,
"preview": "## base #############################################################################################\nFROM node:22.16.0-"
},
{
"path": "packages/api/bin/hyperdx",
"chars": 724,
"preview": "#!/bin/sh\nset -e\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"$0\")\" && pwd)\"\nAPI_BUILD_DIR=\"${SCRIPT_DIR}/../build\"\n\n# shellcheck disab"
},
{
"path": "packages/api/docs/auto_provision/AUTO_PROVISION.md",
"chars": 5376,
"preview": "# Auto-Provisioning Connections and Sources\n\nHyperDX supports automatic provisioning of connections and sources for new\n"
},
{
"path": "packages/api/eslint.config.mjs",
"chars": 2962,
"preview": "import js from '@eslint/js';\nimport tseslint from 'typescript-eslint';\nimport prettierConfig from 'eslint-config-prettie"
},
{
"path": "packages/api/jest.config.js",
"chars": 391,
"preview": "/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */\nmodule.exports = {\n setupFilesAfterEnv: ['<rootDir>/.."
},
{
"path": "packages/api/jest.setup.ts",
"chars": 637,
"preview": "// @eslint-disable @typescript-eslint/no-var-requires\njest.retryTimes(1, { logErrorsBeforeRetry: true });\n\nglobal.consol"
},
{
"path": "packages/api/migrate-mongo-config.ts",
"chars": 1251,
"preview": "export = {\n mongodb: {\n // TODO Change (or review) the url to your MongoDB:\n url: 'mongodb://localhost:27017',\n\n "
},
{
"path": "packages/api/migrations/ch/000001_add_is_delta_n_is_monotonic_fields_to_metric_stream_table.down.sql",
"chars": 117,
"preview": "ALTER TABLE default.metric_stream DROP COLUMN is_delta;\n\nALTER TABLE default.metric_stream DROP COLUMN is_monotonic;\n"
},
{
"path": "packages/api/migrations/ch/000001_add_is_delta_n_is_monotonic_fields_to_metric_stream_table.up.sql",
"chars": 175,
"preview": "ALTER TABLE default.metric_stream ADD COLUMN is_delta Boolean CODEC(Delta, ZSTD(1));\n\nALTER TABLE default.metric_stream "
},
{
"path": "packages/api/migrations/mongo/20231130053610-add_accessKey_field_to_user_collection.ts",
"chars": 379,
"preview": "import { Db, MongoClient } from 'mongodb';\nimport { v4 as uuidv4 } from 'uuid';\n\nmodule.exports = {\n async up(db: Db, _"
},
{
"path": "packages/api/nodemon.json",
"chars": 138,
"preview": "{\n \"verbose\": false,\n \"delay\": 1000,\n \"signal\": \"SIGTERM\",\n \"ext\": \"ts,json,js\",\n \"watch\": [\"src\", \"../common-utils"
},
{
"path": "packages/api/openapi.json",
"chars": 143670,
"preview": "{\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"title\": \"HyperDX External API\",\n \"description\": \"API for managing HyperDX al"
},
{
"path": "packages/api/package.json",
"chars": 3904,
"preview": "{\n \"name\": \"@hyperdx/api\",\n \"version\": \"2.22.0\",\n \"license\": \"MIT\",\n \"private\": true,\n \"engines\": {\n \"node\": \">="
},
{
"path": "packages/api/scripts/generate-api-docs.ts",
"chars": 439,
"preview": "import fs from 'fs';\nimport path from 'path';\nimport swaggerJsdoc from 'swagger-jsdoc';\n\nimport { swaggerOptions } from "
},
{
"path": "packages/api/src/api-app.ts",
"chars": 4380,
"preview": "import compression from 'compression';\nimport MongoStore from 'connect-mongo';\nimport express from 'express';\nimport ses"
},
{
"path": "packages/api/src/clickhouse/__tests__/__snapshots__/renderChartConfig.test.ts.snap",
"chars": 12994,
"preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`renderChartConfig K8s Semantic Convention Migrations with metricNam"
},
{
"path": "packages/api/src/clickhouse/__tests__/clickhouse.V1_DEPRECATED_test.ts",
"chars": 32134,
"preview": "// @ts-nocheck\n\nimport _ from 'lodash';\nimport ms from 'ms';\n\nimport {\n buildMetricSeries,\n generateBuildTeamEventFn,\n"
},
{
"path": "packages/api/src/clickhouse/__tests__/renderChartConfig.test.ts",
"chars": 51802,
"preview": "// TODO: we might want to move this test file to common-utils package\n\nimport { ChSql, chSql } from '@hyperdx/common-uti"
},
{
"path": "packages/api/src/config.ts",
"chars": 2586,
"preview": "const env = process.env;\n\n// DEFAULTS\nconst DEFAULT_APP_TYPE = 'api';\nconst DEFAULT_EXPRESS_SESSION = 'hyperdx is cool 👋"
},
{
"path": "packages/api/src/controllers/__tests__/alertHistory.test.ts",
"chars": 10544,
"preview": "import { ObjectId } from 'mongodb';\n\nimport { getRecentAlertHistories } from '@/controllers/alertHistory';\nimport { clea"
},
{
"path": "packages/api/src/controllers/__tests__/team.test.ts",
"chars": 666,
"preview": "import { createTeam, getTeam, getTeamByApiKey } from '@/controllers/team';\nimport { clearDBCollections, closeDB, connect"
},
{
"path": "packages/api/src/controllers/ai.ts",
"chars": 10425,
"preview": "import { createAnthropic } from '@ai-sdk/anthropic';\nimport { ClickhouseClient } from '@hyperdx/common-utils/dist/clickh"
},
{
"path": "packages/api/src/controllers/alertHistory.ts",
"chars": 1677,
"preview": "import {\n ALERT_INTERVAL_TO_MINUTES,\n AlertInterval,\n} from '@hyperdx/common-utils/dist/types';\nimport { ObjectId } fr"
},
{
"path": "packages/api/src/controllers/alerts.ts",
"chars": 9334,
"preview": "import { isRawSqlSavedChartConfig } from '@hyperdx/common-utils/dist/guards';\nimport { sign, verify } from 'jsonwebtoken"
},
{
"path": "packages/api/src/controllers/connection.ts",
"chars": 1394,
"preview": "import Connection, { IConnection } from '@/models/connection';\n\nexport function getConnections() {\n // Never return pas"
},
{
"path": "packages/api/src/controllers/dashboard.ts",
"chars": 5032,
"preview": "import { isBuilderSavedChartConfig } from '@hyperdx/common-utils/dist/guards';\nimport {\n BuilderSavedChartConfig,\n Das"
},
{
"path": "packages/api/src/controllers/presetDashboardFilters.ts",
"chars": 1777,
"preview": "import {\n PresetDashboard,\n PresetDashboardFilter,\n} from '@hyperdx/common-utils/dist/types';\nimport mongoose from 'mo"
},
{
"path": "packages/api/src/controllers/savedSearch.ts",
"chars": 1812,
"preview": "import { SavedSearchSchema } from '@hyperdx/common-utils/dist/types';\nimport { groupBy, pick } from 'lodash';\nimport { z"
},
{
"path": "packages/api/src/controllers/sources.ts",
"chars": 2842,
"preview": "import { SourceKind, SourceSchema } from '@hyperdx/common-utils/dist/types';\n\nimport {\n ISourceInput,\n LogSource,\n Me"
},
{
"path": "packages/api/src/controllers/team.ts",
"chars": 3047,
"preview": "import { TeamClickHouseSettings } from '@hyperdx/common-utils/dist/types';\nimport mongoose from 'mongoose';\nimport { v4 "
},
{
"path": "packages/api/src/controllers/user.ts",
"chars": 1430,
"preview": "import mongoose from 'mongoose';\n\nimport type { ObjectId } from '@/models';\nimport Alert from '@/models/alert';\nimport U"
},
{
"path": "packages/api/src/fixtures.ts",
"chars": 13593,
"preview": "import { createNativeClient } from '@hyperdx/common-utils/dist/clickhouse/node';\nimport {\n BuilderSavedChartConfig,\n D"
},
{
"path": "packages/api/src/index.ts",
"chars": 1335,
"preview": "import { getHyperDXMetricReader } from '@hyperdx/node-opentelemetry/build/src/metrics';\nimport { HostMetrics } from '@op"
},
{
"path": "packages/api/src/middleware/auth.ts",
"chars": 3224,
"preview": "import { Connection } from '@hyperdx/common-utils/dist/types';\nimport { setTraceAttributes } from '@hyperdx/node-opentel"
},
{
"path": "packages/api/src/middleware/cors.ts",
"chars": 165,
"preview": "import cors from 'cors';\n\nimport { FRONTEND_URL } from '@/config';\n\nexport const noCors = cors();\n\nexport default cors({"
},
{
"path": "packages/api/src/middleware/error.ts",
"chars": 985,
"preview": "import { recordException } from '@hyperdx/node-opentelemetry';\nimport type { NextFunction, Request, Response } from 'exp"
},
{
"path": "packages/api/src/middleware/validation.ts",
"chars": 428,
"preview": "import express from 'express';\nimport { z } from 'zod';\n\nexport function validateRequestHeaders<T extends z.Schema>(sche"
},
{
"path": "packages/api/src/models/__tests__/index.test.ts",
"chars": 634,
"preview": "import { createTeam } from '@/controllers/team';\nimport { clearDBCollections, closeDB, connectDB } from '@/fixtures';\nim"
},
{
"path": "packages/api/src/models/alert.ts",
"chars": 3869,
"preview": "import { ALERT_INTERVAL_TO_MINUTES } from '@hyperdx/common-utils/dist/types';\nimport mongoose, { Schema } from 'mongoose"
},
{
"path": "packages/api/src/models/alertHistory.ts",
"chars": 1401,
"preview": "import mongoose, { Schema } from 'mongoose';\nimport ms from 'ms';\n\nimport { AlertState } from '@/models/alert';\n\nimport "
},
{
"path": "packages/api/src/models/connection.ts",
"chars": 778,
"preview": "import mongoose, { Schema } from 'mongoose';\nimport { v4 as uuidv4 } from 'uuid';\n\ntype ObjectId = mongoose.Types.Object"
},
{
"path": "packages/api/src/models/dashboard.ts",
"chars": 1176,
"preview": "import { DashboardSchema } from '@hyperdx/common-utils/dist/types';\nimport mongoose, { Schema } from 'mongoose';\nimport "
},
{
"path": "packages/api/src/models/index.ts",
"chars": 1556,
"preview": "import mongoose from 'mongoose';\n\nimport * as config from '@/config';\nimport logger from '@/utils/logger';\n\nexport type "
},
{
"path": "packages/api/src/models/presetDashboardFilter.ts",
"chars": 1209,
"preview": "import {\n MetricsDataType,\n PresetDashboard,\n PresetDashboardFilter,\n} from '@hyperdx/common-utils/dist/types';\nimpor"
},
{
"path": "packages/api/src/models/savedSearch.ts",
"chars": 991,
"preview": "import { SavedSearchSchema } from '@hyperdx/common-utils/dist/types';\nimport mongoose, { Schema } from 'mongoose';\nimpor"
},
{
"path": "packages/api/src/models/source.ts",
"chars": 6367,
"preview": "import {\n BaseSourceSchema,\n LogSourceSchema,\n MetricsDataType,\n MetricSourceSchema,\n QuerySettings,\n SessionSourc"
},
{
"path": "packages/api/src/models/team.ts",
"chars": 1199,
"preview": "import { type Team } from '@hyperdx/common-utils/dist/types';\nimport mongoose, { Schema } from 'mongoose';\nimport { v4 a"
},
{
"path": "packages/api/src/models/teamInvite.ts",
"chars": 764,
"preview": "import mongoose, { Schema } from 'mongoose';\nimport ms from 'ms';\n\nexport interface ITeamInvite {\n createdAt: Date;\n e"
},
{
"path": "packages/api/src/models/user.ts",
"chars": 1144,
"preview": "// @ts-ignore don't install the @types for this package, as it conflicts with mongoose\nimport passportLocalMongoose from"
},
{
"path": "packages/api/src/models/webhook.ts",
"chars": 2022,
"preview": "import { WebhookService } from '@hyperdx/common-utils/dist/types';\nimport { ObjectId } from 'mongodb';\nimport mongoose, "
},
{
"path": "packages/api/src/opamp/README.md",
"chars": 344,
"preview": "Implements an HTTP OpAMP server that serves configurations to supervised\ncollectors.\n\nSpec: https://github.com/open-tele"
},
{
"path": "packages/api/src/opamp/app.ts",
"chars": 658,
"preview": "import express from 'express';\n\nimport { appErrorHandler } from '@/middleware/error';\nimport { opampController } from '@"
},
{
"path": "packages/api/src/opamp/controllers/opampController.ts",
"chars": 10263,
"preview": "import { Request, Response } from 'express';\n\nimport * as config from '@/config';\nimport { getAllTeams } from '@/control"
},
{
"path": "packages/api/src/opamp/models/agent.ts",
"chars": 2151,
"preview": "export interface AgentAttribute {\n key: string;\n value: {\n stringValue?: string;\n intValue?: number;\n doubleV"
},
{
"path": "packages/api/src/opamp/proto/anyvalue.proto",
"chars": 2640,
"preview": "// Copyright 2019, OpenTelemetry Authors\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you ma"
},
{
"path": "packages/api/src/opamp/proto/opamp.proto",
"chars": 44280,
"preview": "// v0.12.0\n// From: https://github.com/open-telemetry/opamp-spec/blob/5ba31a0ee6f9cc3dc768ef43c913d6c6c479c522/proto/opa"
},
{
"path": "packages/api/src/opamp/services/agentService.ts",
"chars": 2357,
"preview": "import logger from '@/utils/logger';\n\nimport { Agent, agentStore } from '../models/agent';\n\nexport class AgentService {\n"
},
{
"path": "packages/api/src/opamp/utils/protobuf.ts",
"chars": 3807,
"preview": "import { createHash } from 'crypto';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport * as protobuf from '"
},
{
"path": "packages/api/src/routers/api/__tests__/alerts.test.ts",
"chars": 18081,
"preview": "import {\n getLoggedInAgent,\n getServer,\n makeAlertInput,\n makeRawSqlTile,\n makeTile,\n randomMongoId,\n} from '@/fix"
},
{
"path": "packages/api/src/routers/api/__tests__/dashboard.test.ts",
"chars": 26617,
"preview": "import {\n AlertThresholdType,\n MetricsDataType,\n PresetDashboard,\n SourceKind,\n TSource,\n} from '@hyperdx/common-ut"
},
{
"path": "packages/api/src/routers/api/__tests__/savedSearch.test.ts",
"chars": 5248,
"preview": "import {\n getLoggedInAgent,\n getServer,\n makeSavedSearchAlertInput,\n} from '@/fixtures';\nimport Alert from '@/models/"
},
{
"path": "packages/api/src/routers/api/__tests__/sources.test.ts",
"chars": 23709,
"preview": "import { SourceKind, TSource } from '@hyperdx/common-utils/dist/types';\nimport { Types } from 'mongoose';\n\nimport { getL"
},
{
"path": "packages/api/src/routers/api/__tests__/team.test.ts",
"chars": 9311,
"preview": "import _ from 'lodash';\nimport { ObjectId } from 'mongodb';\nimport mongoose from 'mongoose';\n\nimport { getLoggedInAgent,"
},
{
"path": "packages/api/src/routers/api/__tests__/webhooks.test.ts",
"chars": 19431,
"preview": "import { Types } from 'mongoose';\n\nimport { getLoggedInAgent, getServer } from '@/fixtures';\nimport Webhook, { WebhookSe"
},
{
"path": "packages/api/src/routers/api/ai.ts",
"chars": 4389,
"preview": "import {\n AssistantLineTableConfigSchema,\n SourceKind,\n} from '@hyperdx/common-utils/dist/types';\nimport { APICallErro"
},
{
"path": "packages/api/src/routers/api/alerts.ts",
"chars": 5690,
"preview": "import type { AlertsApiResponse } from '@hyperdx/common-utils/dist/types';\nimport express from 'express';\nimport { pick "
},
{
"path": "packages/api/src/routers/api/clickhouseProxy.ts",
"chars": 6797,
"preview": "import express, { RequestHandler, Response } from 'express';\nimport { createProxyMiddleware } from 'http-proxy-middlewar"
},
{
"path": "packages/api/src/routers/api/connections.ts",
"chars": 2775,
"preview": "import { ConnectionSchema } from '@hyperdx/common-utils/dist/types';\nimport express from 'express';\nimport { validateReq"
},
{
"path": "packages/api/src/routers/api/dashboards.ts",
"chars": 5477,
"preview": "import {\n DashboardSchema,\n DashboardWithoutIdSchema,\n PresetDashboard,\n PresetDashboardFilterSchema,\n} from '@hyper"
},
{
"path": "packages/api/src/routers/api/index.ts",
"chars": 372,
"preview": "import aiRouter from './ai';\nimport alertsRouter from './alerts';\nimport dashboardRouter from './dashboards';\nimport meR"
},
{
"path": "packages/api/src/routers/api/me.ts",
"chars": 1082,
"preview": "import type { MeApiResponse } from '@hyperdx/common-utils/dist/types';\nimport express from 'express';\n\nimport { AI_API_K"
},
{
"path": "packages/api/src/routers/api/root.ts",
"chars": 6318,
"preview": "import type { InstallationApiResponse } from '@hyperdx/common-utils/dist/types';\nimport express from 'express';\nimport {"
},
{
"path": "packages/api/src/routers/api/savedSearch.ts",
"chars": 2535,
"preview": "import { SavedSearchSchema } from '@hyperdx/common-utils/dist/types';\nimport express from 'express';\nimport _ from 'loda"
},
{
"path": "packages/api/src/routers/api/sources.ts",
"chars": 2145,
"preview": "import {\n SourceSchema,\n SourceSchemaNoId,\n} from '@hyperdx/common-utils/dist/types';\nimport express from 'express';\ni"
},
{
"path": "packages/api/src/routers/api/team.ts",
"chars": 7649,
"preview": "import type {\n RotateApiKeyApiResponse,\n TeamApiResponse,\n TeamInvitationsApiResponse,\n TeamMembersApiResponse,\n Te"
},
{
"path": "packages/api/src/routers/api/webhooks.ts",
"chars": 7616,
"preview": "import type {\n WebhookCreateApiResponse,\n WebhooksApiResponse,\n WebhookTestApiResponse,\n WebhookUpdateApiResponse,\n}"
},
{
"path": "packages/api/src/routers/external-api/__tests__/alerts.test.ts",
"chars": 28093,
"preview": "import _ from 'lodash';\nimport { ObjectId } from 'mongodb';\nimport request from 'supertest';\n\nimport { getLoggedInAgent,"
},
{
"path": "packages/api/src/routers/external-api/__tests__/charts.test.ts",
"chars": 32068,
"preview": "import { SourceKind } from '@hyperdx/common-utils/dist/types';\nimport { MetricsDataType } from '@hyperdx/common-utils/di"
},
{
"path": "packages/api/src/routers/external-api/__tests__/dashboards.test.ts",
"chars": 107913,
"preview": "import { MetricsDataType, SourceKind } from '@hyperdx/common-utils/dist/types';\nimport { omit } from 'lodash';\nimport { "
},
{
"path": "packages/api/src/routers/external-api/__tests__/sources.test.ts",
"chars": 21623,
"preview": "import { MetricsDataType, SourceKind } from '@hyperdx/common-utils/dist/types';\nimport mongoose from 'mongoose';\nimport "
},
{
"path": "packages/api/src/routers/external-api/__tests__/v2.test.ts",
"chars": 676,
"preview": "import { getLoggedInAgent, getServer } from '../../../fixtures';\n\ndescribe('external api v2', () => {\n const server = g"
},
{
"path": "packages/api/src/routers/external-api/__tests__/webhooks.test.ts",
"chars": 8692,
"preview": "import { WebhookService } from '@hyperdx/common-utils/dist/types';\nimport { ObjectId } from 'mongodb';\nimport request, {"
},
{
"path": "packages/api/src/routers/external-api/v2/alerts.ts",
"chars": 17952,
"preview": "import express from 'express';\nimport _ from 'lodash';\nimport { z } from 'zod';\n\nimport {\n createAlert,\n deleteAlert,\n"
},
{
"path": "packages/api/src/routers/external-api/v2/charts.ts",
"chars": 21609,
"preview": "import { ClickhouseClient } from '@hyperdx/common-utils/dist/clickhouse/node';\nimport { getMetadata } from '@hyperdx/com"
},
{
"path": "packages/api/src/routers/external-api/v2/dashboards.ts",
"chars": 75543,
"preview": "import { isRawSqlSavedChartConfig } from '@hyperdx/common-utils/dist/guards';\nimport { SearchConditionLanguageSchema as "
},
{
"path": "packages/api/src/routers/external-api/v2/index.ts",
"chars": 1553,
"preview": "import express from 'express';\n\nimport { validateUserAccessKey } from '@/middleware/auth';\nimport alertsRouter from '@/r"
},
{
"path": "packages/api/src/routers/external-api/v2/sources.ts",
"chars": 25188,
"preview": "import {\n SourceKind,\n SourceSchema,\n type TSource,\n} from '@hyperdx/common-utils/dist/types';\nimport express from 'e"
},
{
"path": "packages/api/src/routers/external-api/v2/utils/dashboards.ts",
"chars": 16438,
"preview": "import { isRawSqlSavedChartConfig } from '@hyperdx/common-utils/dist/guards';\nimport {\n AggregateFunctionSchema,\n Buil"
},
{
"path": "packages/api/src/routers/external-api/v2/webhooks.ts",
"chars": 7153,
"preview": "import express from 'express';\n\nimport { WebhookDocument } from '@/models/webhook';\nimport Webhook from '@/models/webhoo"
},
{
"path": "packages/api/src/server.ts",
"chars": 3602,
"preview": "import http from 'http';\nimport gracefulShutdown from 'http-graceful-shutdown';\nimport { serializeError } from 'serializ"
},
{
"path": "packages/api/src/setupDefaults.ts",
"chars": 7897,
"preview": "import { DEFAULT_CONNECTIONS, DEFAULT_SOURCES } from '@/config';\nimport { createConnection, getConnections } from '@/con"
},
{
"path": "packages/api/src/tasks/__tests__/types.test.ts",
"chars": 8068,
"preview": "import { asTaskArgs } from '../types';\n\ndescribe('asTaskArgs', () => {\n describe('invalid inputs', () => {\n it('shou"
},
{
"path": "packages/api/src/tasks/__tests__/util.test.ts",
"chars": 17838,
"preview": "import {\n calcAlertDateRange,\n escapeJsonString,\n roundDownTo,\n roundDownToXMinutes,\n unflattenObject,\n} from '@/ta"
},
{
"path": "packages/api/src/tasks/checkAlerts/__tests__/checkAlerts.test.ts",
"chars": 162958,
"preview": "import { ClickhouseClient } from '@hyperdx/common-utils/dist/clickhouse/node';\nimport {\n AlertState,\n SourceKind,\n Ti"
},
{
"path": "packages/api/src/tasks/checkAlerts/__tests__/checkAlertsTask.test.ts",
"chars": 10167,
"preview": "import { ClickhouseClient } from '@hyperdx/common-utils/dist/clickhouse/node';\nimport mongoose from 'mongoose';\n\nimport "
},
{
"path": "packages/api/src/tasks/checkAlerts/__tests__/singleInvocationAlert.test.ts",
"chars": 24613,
"preview": "import { ClickhouseClient } from '@hyperdx/common-utils/dist/clickhouse/node';\nimport { createServer } from 'http';\nimpo"
},
{
"path": "packages/api/src/tasks/checkAlerts/index.ts",
"chars": 35795,
"preview": "// --------------------------------------------------------\n// -------------- EXECUTE EVERY MINUTE --------------------\n"
},
{
"path": "packages/api/src/tasks/checkAlerts/providers/__tests__/default.test.ts",
"chars": 32188,
"preview": "import mongoose from 'mongoose';\n\nimport { createAlert } from '@/controllers/alerts';\nimport { createTeam } from '@/cont"
},
{
"path": "packages/api/src/tasks/checkAlerts/providers/default.ts",
"chars": 10047,
"preview": "import { ClickhouseClient } from '@hyperdx/common-utils/dist/clickhouse/node';\nimport { isRawSqlSavedChartConfig } from "
},
{
"path": "packages/api/src/tasks/checkAlerts/providers/index.ts",
"chars": 3765,
"preview": "import { ClickhouseClient } from '@hyperdx/common-utils/dist/clickhouse/node';\nimport { Tile } from '@hyperdx/common-uti"
},
{
"path": "packages/api/src/tasks/checkAlerts/template.ts",
"chars": 20282,
"preview": "import { ClickhouseClient } from '@hyperdx/common-utils/dist/clickhouse/node';\nimport { Metadata } from '@hyperdx/common"
},
{
"path": "packages/api/src/tasks/index.ts",
"chars": 2943,
"preview": "import { CronJob } from 'cron';\nimport minimist from 'minimist';\nimport { serializeError } from 'serialize-error';\n\nimpo"
},
{
"path": "packages/api/src/tasks/metrics.ts",
"chars": 1638,
"preview": "import {\n Attributes,\n Counter,\n Gauge,\n metrics,\n ValueType,\n} from '@opentelemetry/api';\nimport { performance } f"
},
{
"path": "packages/api/src/tasks/pingPongTask.ts",
"chars": 798,
"preview": "import { HdxTask, PingTaskArgs } from '@/tasks/types';\nimport logger from '@/utils/logger';\n\nexport default class PingPo"
},
{
"path": "packages/api/src/tasks/tracer.ts",
"chars": 187,
"preview": "import opentelemetry from '@opentelemetry/api';\n\nimport { CODE_VERSION } from '@/config';\n\nexport const tasksTracer = op"
},
{
"path": "packages/api/src/tasks/types.ts",
"chars": 2909,
"preview": "import { z } from 'zod';\n\nexport enum TaskName {\n PING_PONG = 'ping-pong',\n CHECK_ALERTS = 'check-alerts',\n}\n\n/**\n * C"
},
{
"path": "packages/api/src/tasks/usageStats.ts",
"chars": 5195,
"preview": "import { ResponseJSON } from '@hyperdx/common-utils/dist/clickhouse';\nimport { ClickhouseClient } from '@hyperdx/common-"
},
{
"path": "packages/api/src/tasks/util.ts",
"chars": 2603,
"preview": "import { set } from 'lodash';\n\nimport logger from '@/utils/logger';\n\n// transfer keys of attributes with dot into nested"
},
{
"path": "packages/api/src/utils/__tests__/__snapshots__/logParser.test.ts.snap",
"chars": 24147,
"preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`logParser mapObjectToKeyValuePairs 1`] = `\nObject {\n \"bool.names\":"
},
{
"path": "packages/api/src/utils/__tests__/common.test.ts",
"chars": 1400,
"preview": "import ms from 'ms';\n\nimport { convertMsToGranularityString } from '@/utils/common';\n\ndescribe('utils/common', () => {\n "
},
{
"path": "packages/api/src/utils/__tests__/enhancedErrors.test.ts",
"chars": 5254,
"preview": "import express, { Express } from 'express';\nimport request from 'supertest';\nimport { z } from 'zod';\n\nimport { validate"
},
{
"path": "packages/api/src/utils/__tests__/errors.test.ts",
"chars": 689,
"preview": "import { Api500Error, BaseError, isOperationalError } from '../errors';\n\ndescribe('Errors utils', () => {\n test('BaseEr"
},
{
"path": "packages/api/src/utils/__tests__/externalApi.test.ts",
"chars": 1327,
"preview": "import { Types } from 'mongoose';\n\nimport {\n type AlertDocument,\n AlertSource,\n AlertState,\n AlertThresholdType,\n} f"
},
{
"path": "packages/api/src/utils/__tests__/logParser.test.ts",
"chars": 2584,
"preview": "import { mapObjectToKeyValuePairs, traverseJson } from '../logParser';\n\ndescribe('logParser', () => {\n it('traverseJson"
},
{
"path": "packages/api/src/utils/__tests__/validators.test.ts",
"chars": 653,
"preview": "import * as validators from '../validators';\n\ndescribe('validators', () => {\n describe('validatePassword', () => {\n "
},
{
"path": "packages/api/src/utils/common.ts",
"chars": 2233,
"preview": "import { Granularity } from '@hyperdx/common-utils/dist/core/utils';\n\nexport type JSONBlob = Record<string, Json>;\n\nexpo"
}
]
// ... and 611 more files (download for full content)
About this extraction
This page contains the full source code of the hyperdxio/hyperdx GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 811 files (15.6 MB), approximately 4.1M tokens, and a symbol index with 13710 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.