@automattic/vip 4.1.2 → 4.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.buildkite/build-macos-installer.sh +34 -0
- package/.buildkite/build-macos.sh +2 -3
- package/.buildkite/build-windows-installer.ps1 +65 -0
- package/.buildkite/build-windows.ps1 +2 -18
- package/.buildkite/pipeline.yml +32 -0
- package/.buildkite/sign-windows.ps1 +21 -0
- package/.buildkite/test-windows-installer-download.ps1 +54 -0
- package/.buildkite/test_pipeline.py +69 -0
- package/Gemfile.lock +44 -41
- package/cmd/installer-payload/main.go +19 -0
- package/cmd/installer-version/main.go +22 -0
- package/cmd/vip-next/commands/app_debug_test.go +89 -0
- package/cmd/vip-next/commands/app_deploy.go +4 -0
- package/cmd/vip-next/commands/app_deploy_validate.go +2 -0
- package/cmd/vip-next/commands/config_debug_test.go +137 -0
- package/cmd/vip-next/commands/config_envvar_delete.go +2 -0
- package/cmd/vip-next/commands/config_envvar_get.go +2 -0
- package/cmd/vip-next/commands/config_envvar_get_all.go +2 -0
- package/cmd/vip-next/commands/config_envvar_list.go +2 -0
- package/cmd/vip-next/commands/config_envvar_set.go +2 -0
- package/cmd/vip-next/commands/config_software_update.go +12 -1
- package/cmd/vip-next/commands/devenv_create_test.go +5 -5
- package/cmd/vip-next/commands/devenv_debug_test.go +34 -0
- package/cmd/vip-next/commands/devenv_envvar.go +6 -0
- package/cmd/vip-next/commands/devenv_lifecycle.go +30 -11
- package/cmd/vip-next/commands/devenv_update.go +1 -1
- package/cmd/vip-next/commands/devenv_update_test.go +28 -2
- package/cmd/vip-next/commands/import_debug_test.go +110 -0
- package/cmd/vip-next/commands/import_media.go +4 -0
- package/cmd/vip-next/commands/import_sql.go +9 -1
- package/cmd/vip-next/commands/logout.go +1 -1
- package/cmd/vip-next/commands/searchreplace.go +3 -1
- package/cmd/vip-next/commands/searchreplace_debug_test.go +82 -0
- package/cmd/vip-next/commands/whoami.go +10 -1
- package/cmd/vip-next/commands/whoami_debug_test.go +79 -0
- package/cmd/vip-next/commands/wp.go +2 -0
- package/cmd/vip-next/commands/wp_debug_test.go +32 -0
- package/cmd/vip-next/debug_args.go +63 -0
- package/cmd/vip-next/debug_test.go +122 -0
- package/cmd/vip-next/main.go +58 -2
- package/cmd/vip-next/pendo_wiring_test.go +148 -0
- package/cmd/vip-next/root.go +17 -0
- package/dist/bin/vip-dev-env-envvar-get.js +2 -2
- package/dist/bin/vip-dev-env-envvar-set.js +2 -2
- package/dist/bin/vip-dev-env-update.js +1 -1
- package/dist/lib/analytics/clients/pendo.js +19 -7
- package/dist/lib/constants/dev-environment.js +8 -7
- package/dist/lib/dev-environment/dev-environment-cli.js +10 -2
- package/dist/lib/dev-environment/dev-environment-core.js +1 -1
- package/dist/lib/edge-workers/toolchains/assemblyscript/constants.js +1 -1
- package/docs/BUILD-SIGNING.md +147 -6
- package/docs/DEBUGGING.md +61 -0
- package/docs/EDGE-WORKERS.md +2 -2
- package/docs/GO-UPDATES.md +7 -1
- package/docs/NPM-RELEASE-RECOVERY.md +47 -0
- package/docs/RELEASING.md +3 -2
- package/docs/SETUP.md +2 -1
- package/fastlane/Fastfile +66 -3
- package/fastlane/test_signing.rb +83 -0
- package/internal/auth/logout.go +14 -1
- package/internal/auth/logout_test.go +46 -0
- package/internal/debuglog/debuglog.go +85 -0
- package/internal/debuglog/debuglog_test.go +44 -0
- package/internal/devenv/compose/view.go +6 -3
- package/internal/devenv/compose/view_test.go +1 -1
- package/internal/devenv/debug.go +4 -0
- package/internal/devenv/debug_test.go +103 -0
- package/internal/devenv/devenv.go +20 -2
- package/internal/devenv/devexec.go +3 -0
- package/internal/devenv/importdata.go +4 -1
- package/internal/devenv/list.go +9 -1
- package/internal/devenv/logs.go +2 -0
- package/internal/devenv/proxy/ca.go +9 -2
- package/internal/devenv/proxy/ca_test.go +1 -1
- package/internal/devenv/proxy/network.go +7 -3
- package/internal/devenv/proxy/network_test.go +6 -0
- package/internal/devenv/proxy/proxy.go +37 -8
- package/internal/devenv/proxy/proxy_test.go +61 -6
- package/internal/devenv/proxy/scripts/gen-certs.sh +20 -5
- package/internal/devenv/update.go +2 -0
- package/internal/edgeworkers/build_test.go +1 -1
- package/internal/edgeworkers/templates/edge-workers.json +1 -1
- package/internal/edgeworkers/templates/package.json +1 -1
- package/internal/gql/debug_test.go +79 -0
- package/internal/gql/error.go +27 -1
- package/internal/gql/rechallenge.go +9 -5
- package/internal/gql/retry.go +21 -2
- package/internal/gql/transport.go +9 -0
- package/internal/httpproxy/debug_test.go +32 -0
- package/internal/httpproxy/httpproxy.go +8 -1
- package/internal/installer/version.go +41 -0
- package/internal/installer/version_test.go +33 -0
- package/internal/parity/edge_workers_debug_test.go +87 -0
- package/internal/parity/pendo_test.go +122 -0
- package/internal/rechallenge/flow.go +8 -0
- package/internal/rechallenge/flow_test.go +15 -1
- package/internal/releasepromotion/buildkite.go +12 -1
- package/internal/releasepromotion/buildkite_test.go +31 -0
- package/internal/releasepromotion/contract.go +49 -1
- package/internal/releasepromotion/contract_test.go +38 -0
- package/internal/releasepromotion/github.go +4 -10
- package/internal/releasepromotion/optional_installers_test.go +87 -0
- package/internal/releasepromotion/verify.go +99 -2
- package/internal/releasepromotion/verify_test.go +99 -0
- package/internal/searchreplace/debug_test.go +71 -0
- package/internal/searchreplace/searchreplace.go +14 -0
- package/internal/siteimport/debug_test.go +34 -0
- package/internal/siteimport/status.go +11 -0
- package/internal/telemetry/pendo.go +41 -10
- package/internal/telemetry/pendo_auth_test.go +92 -0
- package/internal/telemetry/pendo_test.go +24 -5
- package/internal/telemetry/tracker.go +26 -0
- package/internal/update/github.go +36 -17
- package/internal/update/ownership.go +22 -0
- package/internal/update/ownership_test.go +44 -0
- package/internal/update/release_test.go +53 -13
- package/internal/update/service_test.go +39 -0
- package/internal/upload/debug_test.go +76 -0
- package/internal/upload/multipart.go +3 -0
- package/internal/upload/orchestrate.go +10 -0
- package/internal/upload/putobject.go +3 -0
- package/internal/wpssh/debug_test.go +67 -0
- package/internal/wpssh/wpssh.go +7 -0
- package/internal/wpstream/debug_test.go +116 -0
- package/internal/wpstream/run.go +10 -1
- package/node_modules/@apollo/client/CHANGELOG.md +1130 -0
- package/node_modules/@apollo/client/__cjs/cache/core/Scalar.cjs +36 -0
- package/node_modules/@apollo/client/__cjs/cache/core/Scalar.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/cache/core/Scalar.d.cts +56 -0
- package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs +32 -1
- package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/core/cache.d.cts +89 -6
- package/node_modules/@apollo/client/__cjs/cache/core/types/Cache.d.cts +30 -2
- package/node_modules/@apollo/client/__cjs/cache/index.cjs +3 -1
- package/node_modules/@apollo/client/__cjs/cache/index.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/index.d.cts +2 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs +63 -5
- package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.d.cts +3 -0
- package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs +12 -0
- package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.d.cts +11 -2
- package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +95 -4
- package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.d.cts +44 -5
- package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +34 -6
- package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.d.cts +3 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs +489 -45
- package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.d.cts +11 -2
- package/node_modules/@apollo/client/__cjs/cache/inmemory/types.d.cts +31 -4
- package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +5 -9
- package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs +14 -14
- package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/core/ApolloClient.d.cts +11 -11
- package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs +186 -72
- package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/core/ObservableQuery.d.cts +4 -7
- package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +164 -197
- package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/core/QueryInfo.d.cts +17 -21
- package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +75 -48
- package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/core/QueryManager.d.cts +4 -4
- package/node_modules/@apollo/client/__cjs/core/RefetchEventManager.cjs +3 -3
- package/node_modules/@apollo/client/__cjs/core/dataStateErrorCache.cjs +12 -0
- package/node_modules/@apollo/client/__cjs/core/dataStateErrorCache.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/core/dataStateErrorCache.d.cts +3 -0
- package/node_modules/@apollo/client/__cjs/core/deprecated.d.cts +3 -3
- package/node_modules/@apollo/client/__cjs/core/index.cjs +2 -1
- package/node_modules/@apollo/client/__cjs/core/index.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/core/index.d.cts +4 -3
- package/node_modules/@apollo/client/__cjs/core/types.d.cts +11 -7
- package/node_modules/@apollo/client/__cjs/incremental/GraphQLCodegenIncremental.cjs +3 -0
- package/node_modules/@apollo/client/__cjs/incremental/GraphQLCodegenIncremental.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/incremental/GraphQLCodegenIncremental.d.cts +55 -0
- package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.d.cts +2 -4
- package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs +47 -16
- package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.d.cts +29 -6
- package/node_modules/@apollo/client/__cjs/incremental/handlers/notImplemented.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/incremental/index.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/incremental/index.d.cts +1 -0
- package/node_modules/@apollo/client/__cjs/{utilities/internal/types/NoInfer.cjs → incremental/internal/types.cjs} +1 -1
- package/node_modules/@apollo/client/__cjs/incremental/internal/types.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/incremental/internal/types.d.cts +17 -0
- package/node_modules/@apollo/client/__cjs/incremental/types.d.cts +55 -4
- package/node_modules/@apollo/client/__cjs/invariantErrorCodes.cjs +164 -113
- package/node_modules/@apollo/client/__cjs/link/core/ApolloLink.cjs +3 -3
- package/node_modules/@apollo/client/__cjs/link/http/checkFetcher.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/link/persisted-queries/index.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/link/ws/index.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/local-state/LocalState.cjs +11 -11
- package/node_modules/@apollo/client/__cjs/local-state/LocalState.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/local-state/LocalState.d.cts +1 -1
- package/node_modules/@apollo/client/__cjs/masking/internal/types.d.cts +1 -2
- package/node_modules/@apollo/client/__cjs/masking/maskDefinition.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/masking/maskFragment.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/masking/maskOperation.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/masking/utils.cjs +3 -3
- package/node_modules/@apollo/client/__cjs/react/context/ApolloContext.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/react/context/ApolloProvider.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/react/hooks/useApolloClient.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useBackgroundQuery.d.cts +3 -3
- package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.d.cts +0 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useLazyQuery.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useLazyQuery.d.cts +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/react/hooks/useMutation.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useMutation.d.cts +14 -14
- package/node_modules/@apollo/client/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useQuery.d.cts +16 -3
- package/node_modules/@apollo/client/__cjs/react/hooks/useSubscription.cjs +7 -3
- package/node_modules/@apollo/client/__cjs/react/hooks/useSubscription.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useSubscription.d.cts +27 -5
- package/node_modules/@apollo/client/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useSuspenseQuery.d.cts +30 -30
- package/node_modules/@apollo/client/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/react/internal/cache/QueryReference.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/query-preloader/createQueryPreloader.d.cts +1 -1
- package/node_modules/@apollo/client/__cjs/react/ssr/prerenderStatic.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/react/types/deprecated.d.cts +5 -4
- package/node_modules/@apollo/client/__cjs/react/types/types.documentation.d.cts +12 -1
- package/node_modules/@apollo/client/__cjs/testing/core/mocking/mockLink.cjs +25 -5
- package/node_modules/@apollo/client/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/testing/core/mocking/mockLink.d.cts +1 -2
- package/node_modules/@apollo/client/__cjs/utilities/caching/sizes.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/caching/sizes.d.cts +39 -1
- package/node_modules/@apollo/client/__cjs/utilities/graphql/DocumentTransform.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/StreamArrayState.cjs +27 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/StreamArrayState.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/StreamArrayState.d.cts +12 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/addDeferFragmentLabels.cjs +33 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/addDeferFragmentLabels.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/addDeferFragmentLabels.d.cts +3 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/capitalize.cjs +12 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/capitalize.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/capitalize.d.cts +7 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/coerceScalarFieldsToParsed.cjs +102 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/coerceScalarFieldsToParsed.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/coerceScalarFieldsToParsed.d.cts +9 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/constants.cjs +20 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/constants.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/constants.d.cts +19 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/getDirectiveArgValue.cjs +19 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/getDirectiveArgValue.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/getDirectiveArgValue.d.cts +9 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentDefinition.cjs +3 -3
- package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentFromSelection.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentQueryDocument.cjs +2 -2
- package/node_modules/@apollo/client/__cjs/utilities/internal/getMainDefinition.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/getMemoryInternals.cjs +6 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/getMemoryInternals.d.cts +4 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/getQueryDefinition.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs +27 -2
- package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/index.d.cts +17 -2
- package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs +38 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.d.cts +9 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs +37 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.d.cts +9 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/isTypenameField.cjs +7 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/isTypenameField.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/isTypenameField.d.cts +3 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/makeStreamInfoTrie.cjs +17 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/makeStreamInfoTrie.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/makeStreamInfoTrie.d.cts +8 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/matchScalarList.cjs +12 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/matchScalarList.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/matchScalarList.d.cts +8 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/shouldInclude.cjs +4 -4
- package/node_modules/@apollo/client/__cjs/utilities/internal/toDiffWithDataState.cjs +20 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/toDiffWithDataState.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/toDiffWithDataState.d.cts +8 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs +3 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.d.cts +10 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/Exact.cjs +3 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/Exact.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/Exact.d.cts +2 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsLooselyEqual.cjs +3 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsLooselyEqual.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsLooselyEqual.d.cts +10 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsNeverish.cjs +3 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsNeverish.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsNeverish.d.cts +4 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/StreamInfoTrie.d.cts +2 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/unwrapScalarType.cjs +12 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/unwrapScalarType.cjs.map +1 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/unwrapScalarType.d.cts +10 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/valueToObjectRepresentation.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
- package/node_modules/@apollo/client/__cjs/version.cjs.map +1 -1
- package/node_modules/@apollo/client/cache/core/Scalar.d.ts +56 -0
- package/node_modules/@apollo/client/cache/core/Scalar.js +32 -0
- package/node_modules/@apollo/client/cache/core/Scalar.js.map +1 -0
- package/node_modules/@apollo/client/cache/core/cache.d.ts +89 -6
- package/node_modules/@apollo/client/cache/core/cache.js +33 -2
- package/node_modules/@apollo/client/cache/core/cache.js.map +1 -1
- package/node_modules/@apollo/client/cache/core/types/Cache.d.ts +30 -2
- package/node_modules/@apollo/client/cache/core/types/Cache.js.map +1 -1
- package/node_modules/@apollo/client/cache/index.d.ts +2 -1
- package/node_modules/@apollo/client/cache/index.js +1 -0
- package/node_modules/@apollo/client/cache/index.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/entityStore.d.ts +3 -0
- package/node_modules/@apollo/client/cache/inmemory/entityStore.js +64 -6
- package/node_modules/@apollo/client/cache/inmemory/entityStore.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/helpers.d.ts +11 -2
- package/node_modules/@apollo/client/cache/inmemory/helpers.js +11 -0
- package/node_modules/@apollo/client/cache/inmemory/helpers.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.d.ts +44 -5
- package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +97 -6
- package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +1 -1
- package/node_modules/@apollo/client/cache/inmemory/policies.d.ts +3 -1
- package/node_modules/@apollo/client/cache/inmemory/policies.js +34 -6
- package/node_modules/@apollo/client/cache/inmemory/policies.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/readFromStore.d.ts +11 -2
- package/node_modules/@apollo/client/cache/inmemory/readFromStore.js +485 -45
- package/node_modules/@apollo/client/cache/inmemory/readFromStore.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/types.d.ts +32 -5
- package/node_modules/@apollo/client/cache/inmemory/types.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +6 -10
- package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
- package/node_modules/@apollo/client/core/ApolloClient.d.ts +11 -11
- package/node_modules/@apollo/client/core/ApolloClient.js +14 -14
- package/node_modules/@apollo/client/core/ApolloClient.js.map +1 -1
- package/node_modules/@apollo/client/core/ObservableQuery.d.ts +4 -7
- package/node_modules/@apollo/client/core/ObservableQuery.js +183 -73
- package/node_modules/@apollo/client/core/ObservableQuery.js.map +1 -1
- package/node_modules/@apollo/client/core/QueryInfo.d.ts +18 -22
- package/node_modules/@apollo/client/core/QueryInfo.js +165 -198
- package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
- package/node_modules/@apollo/client/core/QueryManager.d.ts +4 -4
- package/node_modules/@apollo/client/core/QueryManager.js +76 -49
- package/node_modules/@apollo/client/core/QueryManager.js.map +1 -1
- package/node_modules/@apollo/client/core/RefetchEventManager.js +3 -3
- package/node_modules/@apollo/client/core/dataStateErrorCache.d.ts +3 -0
- package/node_modules/@apollo/client/core/dataStateErrorCache.js +9 -0
- package/node_modules/@apollo/client/core/dataStateErrorCache.js.map +1 -0
- package/node_modules/@apollo/client/core/deprecated.d.ts +3 -3
- package/node_modules/@apollo/client/core/deprecated.js.map +1 -1
- package/node_modules/@apollo/client/core/index.d.ts +4 -3
- package/node_modules/@apollo/client/core/index.js +1 -1
- package/node_modules/@apollo/client/core/index.js.map +1 -1
- package/node_modules/@apollo/client/core/types.d.ts +11 -7
- package/node_modules/@apollo/client/core/types.js.map +1 -1
- package/node_modules/@apollo/client/incremental/GraphQLCodegenIncremental.d.ts +55 -0
- package/node_modules/@apollo/client/incremental/GraphQLCodegenIncremental.js +2 -0
- package/node_modules/@apollo/client/incremental/GraphQLCodegenIncremental.js.map +1 -0
- package/node_modules/@apollo/client/incremental/handlers/defer20220824.d.ts +2 -4
- package/node_modules/@apollo/client/incremental/handlers/defer20220824.js.map +1 -1
- package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.d.ts +29 -6
- package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js +48 -17
- package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js.map +1 -1
- package/node_modules/@apollo/client/incremental/handlers/notImplemented.js +1 -1
- package/node_modules/@apollo/client/incremental/index.d.ts +1 -0
- package/node_modules/@apollo/client/incremental/index.js.map +1 -1
- package/node_modules/@apollo/client/incremental/internal/types.d.ts +17 -0
- package/node_modules/@apollo/client/incremental/internal/types.js +2 -0
- package/node_modules/@apollo/client/incremental/internal/types.js.map +1 -0
- package/node_modules/@apollo/client/incremental/types.d.ts +55 -4
- package/node_modules/@apollo/client/incremental/types.js.map +1 -1
- package/node_modules/@apollo/client/invariantErrorCodes.js +164 -113
- package/node_modules/@apollo/client/link/core/ApolloLink.js +3 -3
- package/node_modules/@apollo/client/link/http/checkFetcher.js +1 -1
- package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js +1 -1
- package/node_modules/@apollo/client/link/persisted-queries/index.js +2 -2
- package/node_modules/@apollo/client/link/ws/index.js +1 -1
- package/node_modules/@apollo/client/local-state/LocalState.d.ts +1 -1
- package/node_modules/@apollo/client/local-state/LocalState.js +11 -11
- package/node_modules/@apollo/client/local-state/LocalState.js.map +1 -1
- package/node_modules/@apollo/client/masking/internal/types.d.ts +1 -2
- package/node_modules/@apollo/client/masking/internal/types.js.map +1 -1
- package/node_modules/@apollo/client/masking/maskDefinition.js +2 -2
- package/node_modules/@apollo/client/masking/maskFragment.js +2 -2
- package/node_modules/@apollo/client/masking/maskOperation.js +1 -1
- package/node_modules/@apollo/client/masking/utils.js +3 -3
- package/node_modules/@apollo/client/package.json +1 -1
- package/node_modules/@apollo/client/react/context/ApolloContext.js +1 -1
- package/node_modules/@apollo/client/react/context/ApolloProvider.js +1 -1
- package/node_modules/@apollo/client/react/hooks/internal/validateSuspenseHookOptions.js +2 -2
- package/node_modules/@apollo/client/react/hooks/useApolloClient.js +1 -1
- package/node_modules/@apollo/client/react/hooks/useBackgroundQuery.d.ts +3 -3
- package/node_modules/@apollo/client/react/hooks/useBackgroundQuery.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks/useFragment.d.ts +0 -1
- package/node_modules/@apollo/client/react/hooks/useFragment.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks/useLazyQuery.d.ts +1 -1
- package/node_modules/@apollo/client/react/hooks/useLazyQuery.js +2 -2
- package/node_modules/@apollo/client/react/hooks/useLazyQuery.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks/useLoadableQuery.js +2 -2
- package/node_modules/@apollo/client/react/hooks/useMutation.d.ts +14 -14
- package/node_modules/@apollo/client/react/hooks/useMutation.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks/useQuery.d.ts +16 -3
- package/node_modules/@apollo/client/react/hooks/useQuery.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks/useSubscription.d.ts +27 -5
- package/node_modules/@apollo/client/react/hooks/useSubscription.js +7 -3
- package/node_modules/@apollo/client/react/hooks/useSubscription.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks/useSuspenseFragment.d.ts +1 -1
- package/node_modules/@apollo/client/react/hooks/useSuspenseFragment.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks/useSuspenseQuery.d.ts +30 -30
- package/node_modules/@apollo/client/react/hooks/useSuspenseQuery.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks/useSyncExternalStore.js +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/internal/validateSuspenseHookOptions.js +2 -2
- package/node_modules/@apollo/client/react/hooks-compiled/useApolloClient.js +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useBackgroundQuery.d.ts +3 -3
- package/node_modules/@apollo/client/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useFragment.d.ts +0 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useFragment.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useLazyQuery.d.ts +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useLazyQuery.js +2 -2
- package/node_modules/@apollo/client/react/hooks-compiled/useLazyQuery.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useLoadableQuery.js +2 -2
- package/node_modules/@apollo/client/react/hooks-compiled/useMutation.d.ts +14 -14
- package/node_modules/@apollo/client/react/hooks-compiled/useMutation.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useQuery.d.ts +16 -3
- package/node_modules/@apollo/client/react/hooks-compiled/useQuery.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useSubscription.d.ts +27 -5
- package/node_modules/@apollo/client/react/hooks-compiled/useSubscription.js +107 -93
- package/node_modules/@apollo/client/react/hooks-compiled/useSubscription.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useSuspenseFragment.d.ts +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useSuspenseFragment.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useSuspenseQuery.d.ts +30 -30
- package/node_modules/@apollo/client/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useSyncExternalStore.js +1 -1
- package/node_modules/@apollo/client/react/internal/cache/QueryReference.js +1 -1
- package/node_modules/@apollo/client/react/query-preloader/createQueryPreloader.d.ts +1 -1
- package/node_modules/@apollo/client/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/node_modules/@apollo/client/react/ssr/prerenderStatic.js +2 -2
- package/node_modules/@apollo/client/react/types/deprecated.d.ts +5 -4
- package/node_modules/@apollo/client/react/types/deprecated.js.map +1 -1
- package/node_modules/@apollo/client/react/types/types.documentation.d.ts +12 -1
- package/node_modules/@apollo/client/react/types/types.documentation.js.map +1 -1
- package/node_modules/@apollo/client/testing/core/mocking/mockLink.d.ts +1 -2
- package/node_modules/@apollo/client/testing/core/mocking/mockLink.js +25 -5
- package/node_modules/@apollo/client/testing/core/mocking/mockLink.js.map +1 -1
- package/node_modules/@apollo/client/utilities/caching/sizes.d.ts +39 -1
- package/node_modules/@apollo/client/utilities/caching/sizes.js.map +1 -1
- package/node_modules/@apollo/client/utilities/graphql/DocumentTransform.js +1 -1
- package/node_modules/@apollo/client/utilities/internal/StreamArrayState.d.ts +12 -0
- package/node_modules/@apollo/client/utilities/internal/StreamArrayState.js +23 -0
- package/node_modules/@apollo/client/utilities/internal/StreamArrayState.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/addDeferFragmentLabels.d.ts +3 -0
- package/node_modules/@apollo/client/utilities/internal/addDeferFragmentLabels.js +30 -0
- package/node_modules/@apollo/client/utilities/internal/addDeferFragmentLabels.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/capitalize.d.ts +7 -0
- package/node_modules/@apollo/client/utilities/internal/capitalize.js +9 -0
- package/node_modules/@apollo/client/utilities/internal/capitalize.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/coerceScalarFieldsToParsed.d.ts +9 -0
- package/node_modules/@apollo/client/utilities/internal/coerceScalarFieldsToParsed.js +95 -0
- package/node_modules/@apollo/client/utilities/internal/coerceScalarFieldsToParsed.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/constants.d.ts +19 -0
- package/node_modules/@apollo/client/utilities/internal/constants.js +19 -0
- package/node_modules/@apollo/client/utilities/internal/constants.js.map +1 -1
- package/node_modules/@apollo/client/utilities/internal/getDirectiveArgValue.d.ts +9 -0
- package/node_modules/@apollo/client/utilities/internal/getDirectiveArgValue.js +16 -0
- package/node_modules/@apollo/client/utilities/internal/getDirectiveArgValue.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/getFragmentDefinition.js +3 -3
- package/node_modules/@apollo/client/utilities/internal/getFragmentDefinition.js.map +1 -1
- package/node_modules/@apollo/client/utilities/internal/getFragmentFromSelection.js +2 -2
- package/node_modules/@apollo/client/utilities/internal/getFragmentFromSelection.js.map +1 -1
- package/node_modules/@apollo/client/utilities/internal/getFragmentQueryDocument.js +2 -2
- package/node_modules/@apollo/client/utilities/internal/getMainDefinition.js +1 -1
- package/node_modules/@apollo/client/utilities/internal/getMemoryInternals.d.ts +4 -0
- package/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +6 -0
- package/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +1 -1
- package/node_modules/@apollo/client/utilities/internal/getQueryDefinition.js +1 -1
- package/node_modules/@apollo/client/utilities/internal/index.d.ts +17 -2
- package/node_modules/@apollo/client/utilities/internal/index.js +13 -1
- package/node_modules/@apollo/client/utilities/internal/index.js.map +1 -1
- package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.d.ts +9 -0
- package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js +35 -0
- package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/isStreamField.d.ts +9 -0
- package/node_modules/@apollo/client/utilities/internal/isStreamField.js +34 -0
- package/node_modules/@apollo/client/utilities/internal/isStreamField.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/isTypenameField.d.ts +3 -0
- package/node_modules/@apollo/client/utilities/internal/isTypenameField.js +4 -0
- package/node_modules/@apollo/client/utilities/internal/isTypenameField.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/makeStreamInfoTrie.d.ts +8 -0
- package/node_modules/@apollo/client/utilities/internal/makeStreamInfoTrie.js +14 -0
- package/node_modules/@apollo/client/utilities/internal/makeStreamInfoTrie.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/matchScalarList.d.ts +8 -0
- package/node_modules/@apollo/client/utilities/internal/matchScalarList.js +9 -0
- package/node_modules/@apollo/client/utilities/internal/matchScalarList.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/removeDirectivesFromDocument.js +1 -1
- package/node_modules/@apollo/client/utilities/internal/shouldInclude.js +4 -4
- package/node_modules/@apollo/client/utilities/internal/toDiffWithDataState.d.ts +8 -0
- package/node_modules/@apollo/client/utilities/internal/toDiffWithDataState.js +17 -0
- package/node_modules/@apollo/client/utilities/internal/toDiffWithDataState.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.d.ts +10 -0
- package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js +2 -0
- package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/types/Exact.d.ts +2 -0
- package/node_modules/@apollo/client/utilities/internal/types/Exact.js +2 -0
- package/node_modules/@apollo/client/utilities/internal/types/Exact.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/types/IsLooselyEqual.d.ts +10 -0
- package/node_modules/@apollo/client/utilities/internal/types/IsLooselyEqual.js +2 -0
- package/node_modules/@apollo/client/utilities/internal/types/IsLooselyEqual.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/types/IsNeverish.d.ts +4 -0
- package/node_modules/@apollo/client/utilities/internal/types/IsNeverish.js +2 -0
- package/node_modules/@apollo/client/utilities/internal/types/IsNeverish.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/types/StreamInfoTrie.d.ts +2 -0
- package/node_modules/@apollo/client/utilities/internal/types/StreamInfoTrie.js.map +1 -1
- package/node_modules/@apollo/client/utilities/internal/unwrapScalarType.d.ts +10 -0
- package/node_modules/@apollo/client/utilities/internal/unwrapScalarType.js +9 -0
- package/node_modules/@apollo/client/utilities/internal/unwrapScalarType.js.map +1 -0
- package/node_modules/@apollo/client/utilities/internal/valueToObjectRepresentation.js +1 -1
- package/node_modules/@apollo/client/version.js +1 -1
- package/node_modules/@apollo/client/version.js.map +1 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.buffer.d.ts +10 -5
- package/node_modules/@types/node/buffer.d.ts +1 -0
- package/node_modules/@types/node/crypto.d.ts +2 -4
- package/node_modules/@types/node/dgram.d.ts +119 -4
- package/node_modules/@types/node/diagnostics_channel.d.ts +4 -4
- package/node_modules/@types/node/ffi.d.ts +1 -1
- package/node_modules/@types/node/fs/promises.d.ts +61 -65
- package/node_modules/@types/node/fs.d.ts +86 -76
- package/node_modules/@types/node/http.d.ts +18 -2
- package/node_modules/@types/node/http2.d.ts +12 -4
- package/node_modules/@types/node/index.d.ts +1 -0
- package/node_modules/@types/node/inspector.d.ts +2 -1
- package/node_modules/@types/node/net.d.ts +108 -16
- package/node_modules/@types/node/package.json +3 -3
- package/node_modules/@types/node/perf_hooks.d.ts +31 -19
- package/node_modules/@types/node/process.d.ts +52 -0
- package/node_modules/@types/node/quic.d.ts +252 -42
- package/node_modules/@types/node/sqlite.d.ts +6 -2
- package/node_modules/@types/node/stream/iter.d.ts +4 -4
- package/node_modules/@types/node/stream/web.d.ts +20 -0
- package/node_modules/@types/node/test.d.ts +36 -0
- package/node_modules/@types/node/tls.d.ts +50 -15
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
- package/node_modules/@types/node/tty.d.ts +4 -3
- package/node_modules/@types/node/vfs.d.ts +211 -0
- package/node_modules/@types/node/vm.d.ts +1 -1
- package/node_modules/@types/node/web-globals/streams.d.ts +4 -0
- package/node_modules/@types/node/zlib.d.ts +17 -0
- package/node_modules/cpu-features/build/Makefile +2 -2
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +145 -145
- package/node_modules/cpu-features/build/config.gypi +8 -9
- package/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
- package/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
- package/node_modules/default-browser/package.json +1 -1
- package/node_modules/default-browser/windows.js +3 -1
- package/node_modules/js-yaml/README.md +0 -3
- package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs +822 -779
- package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs.map +1 -1
- package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js +29 -23
- package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js.map +1 -1
- package/node_modules/js-yaml/dist/js-yaml.cjs.js +425 -397
- package/node_modules/js-yaml/dist/js-yaml.cjs.js.map +1 -1
- package/node_modules/js-yaml/dist/js-yaml.d.ts +101 -32
- package/node_modules/js-yaml/dist/js-yaml.mjs +429 -397
- package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
- package/node_modules/js-yaml/package.json +1 -1
- package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js +11 -3
- package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js.map +1 -1
- package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js +1 -1
- package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js.map +1 -1
- package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs +11 -3
- package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
- package/node_modules/lando/node_modules/js-yaml/lib/loader.js +16 -3
- package/node_modules/lando/node_modules/js-yaml/package.json +1 -1
- package/node_modules/open/index.js +15 -3
- package/node_modules/open/package.json +3 -3
- package/node_modules/{lando → path-scurry}/node_modules/lru-cache/README.md +96 -10
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
- package/node_modules/{lando/node_modules/lru-cache/dist/commonjs → path-scurry/node_modules/lru-cache/dist/commonjs/browser}/index.d.ts +109 -32
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js +1733 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
- package/node_modules/{lando/node_modules/lru-cache/dist/esm → path-scurry/node_modules/lru-cache/dist/commonjs}/index.d.ts +109 -32
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +1733 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js +1733 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
- package/node_modules/{lando/node_modules/lru-cache/dist/esm → path-scurry/node_modules/lru-cache/dist/esm/browser}/index.js +315 -177
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
- package/node_modules/{lando/node_modules/lru-cache/dist/commonjs → path-scurry/node_modules/lru-cache/dist/esm}/index.js +316 -182
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js +1729 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/package.json +154 -0
- package/node_modules/powershell-utils/index.d.ts +16 -2
- package/node_modules/powershell-utils/index.js +12 -9
- package/node_modules/powershell-utils/package.json +1 -1
- package/node_modules/powershell-utils/readme.md +7 -2
- package/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +237 -237
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
- package/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
- package/node_modules/undici/docs/docs/api/Client.md +4 -0
- package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
- package/node_modules/undici/docs/docs/api/EventSource.md +4 -0
- package/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
- package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
- package/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
- package/node_modules/undici/lib/core/symbols.js +2 -0
- package/node_modules/undici/lib/dispatcher/agent.js +7 -2
- package/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
- package/node_modules/undici/lib/dispatcher/client-h1.js +12 -4
- package/node_modules/undici/lib/dispatcher/client-h2.js +43 -3
- package/node_modules/undici/lib/dispatcher/client.js +3 -2
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
- package/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
- package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
- package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +10 -3
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -1
- package/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
- package/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
- package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +91 -21
- package/node_modules/undici/lib/handler/cache-handler.js +29 -5
- package/node_modules/undici/lib/handler/decorator-handler.js +7 -1
- package/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
- package/node_modules/undici/lib/handler/redirect-handler.js +21 -4
- package/node_modules/undici/lib/handler/retry-handler.js +148 -30
- package/node_modules/undici/lib/interceptor/cache.js +65 -12
- package/node_modules/undici/lib/interceptor/decompress.js +115 -13
- package/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
- package/node_modules/undici/lib/interceptor/dns.js +7 -0
- package/node_modules/undici/lib/interceptor/dump.js +10 -23
- package/node_modules/undici/lib/mock/mock-agent.js +13 -1
- package/node_modules/undici/lib/mock/mock-utils.js +11 -10
- package/node_modules/undici/lib/util/cache.js +45 -3
- package/node_modules/undici/lib/web/cookies/parse.js +150 -147
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
- package/node_modules/undici/lib/web/eventsource/eventsource.js +13 -3
- package/node_modules/undici/lib/web/fetch/index.js +6 -0
- package/node_modules/undici/lib/web/fetch/request.js +2 -3
- package/node_modules/undici/lib/web/fetch/util.js +6 -1
- package/node_modules/undici/lib/web/webidl/index.js +3 -3
- package/node_modules/undici/lib/web/websocket/connection.js +1 -1
- package/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
- package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
- package/node_modules/undici/package.json +3 -3
- package/node_modules/undici/types/client.d.ts +10 -0
- package/node_modules/undici/types/interceptors.d.ts +2 -0
- package/node_modules/undici/types/mock-agent.d.ts +11 -10
- package/node_modules/undici/types/socks5-proxy-agent.d.ts +2 -0
- package/node_modules/undici-types/client.d.ts +8 -3
- package/node_modules/undici-types/connector.d.ts +1 -0
- package/node_modules/undici-types/cookies.d.ts +1 -1
- package/node_modules/undici-types/dispatcher.d.ts +3 -3
- package/node_modules/undici-types/errors.d.ts +10 -0
- package/node_modules/undici-types/fetch.d.ts +5 -1
- package/node_modules/undici-types/handlers.d.ts +2 -0
- package/node_modules/undici-types/interceptors.d.ts +1 -1
- package/node_modules/undici-types/mock-interceptor.d.ts +5 -1
- package/node_modules/undici-types/package.json +1 -1
- package/node_modules/undici-types/proxy-agent.d.ts +7 -0
- package/package.json +2 -2
- package/packaging/macos/build-pkg.sh +53 -0
- package/packaging/macos/preinstall +33 -0
- package/packaging/macos/test-install.sh +51 -0
- package/packaging/macos/test_package.py +74 -0
- package/packaging/macos/uninstall.sh +24 -0
- package/packaging/macos/verify-pkg.py +61 -0
- package/packaging/windows/build-msi.ps1 +153 -0
- package/packaging/windows/test-msi.ps1 +225 -0
- package/packaging/windows/verify-msi.ps1 +74 -0
- package/packaging/windows/vip-next.wxs +79 -0
- package/testdata/installer-fixture/main.go +40 -0
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/NoInfer.cjs.map +0 -1
- package/node_modules/@apollo/client/__cjs/utilities/internal/types/NoInfer.d.cts +0 -35
- package/node_modules/@apollo/client/utilities/internal/types/NoInfer.d.ts +0 -35
- package/node_modules/@apollo/client/utilities/internal/types/NoInfer.js +0 -2
- package/node_modules/@apollo/client/utilities/internal/types/NoInfer.js.map +0 -1
- package/node_modules/lando/node_modules/lru-cache/dist/commonjs/index.d.ts.map +0 -1
- package/node_modules/lando/node_modules/lru-cache/dist/commonjs/index.js.map +0 -1
- package/node_modules/lando/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
- package/node_modules/lando/node_modules/lru-cache/dist/commonjs/index.min.js.map +0 -7
- package/node_modules/lando/node_modules/lru-cache/dist/esm/index.d.ts.map +0 -1
- package/node_modules/lando/node_modules/lru-cache/dist/esm/index.js.map +0 -1
- package/node_modules/lando/node_modules/lru-cache/dist/esm/index.min.js +0 -2
- package/node_modules/lando/node_modules/lru-cache/dist/esm/index.min.js.map +0 -7
- package/node_modules/lando/node_modules/lru-cache/package.json +0 -93
- /package/node_modules/{lando/node_modules/lru-cache → path-scurry}/LICENSE.md +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/README.md +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/commonjs/index.d.ts +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/commonjs/index.d.ts.map +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/commonjs/index.js +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/commonjs/index.js.map +0 -0
- /package/node_modules/{lando/node_modules/lru-cache → path-scurry}/dist/commonjs/package.json +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/esm/index.d.ts +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/esm/index.d.ts.map +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/esm/index.js +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/esm/index.js.map +0 -0
- /package/node_modules/{lando/node_modules/lru-cache → path-scurry}/dist/esm/package.json +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry/node_modules/lru-cache}/LICENSE.md +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry/node_modules/lru-cache}/dist/commonjs/package.json +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry/node_modules/lru-cache}/dist/esm/package.json +0 -0
- /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/package.json +0 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// Package debuglog emits opt-in diagnostics using Node debug namespace selectors.
|
|
2
|
+
// Loggers belong to an invocation context, so commands and tests cannot leak
|
|
3
|
+
// their debug settings or output writers into another invocation.
|
|
4
|
+
package debuglog
|
|
5
|
+
|
|
6
|
+
import (
|
|
7
|
+
"context"
|
|
8
|
+
"fmt"
|
|
9
|
+
"io"
|
|
10
|
+
"regexp"
|
|
11
|
+
"strings"
|
|
12
|
+
"sync"
|
|
13
|
+
"unicode"
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
type contextKey struct{}
|
|
17
|
+
|
|
18
|
+
type logger struct {
|
|
19
|
+
mu sync.Mutex
|
|
20
|
+
out io.Writer
|
|
21
|
+
include, exclude []*regexp.Regexp
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// WithLogger accepts comma/whitespace-separated namespaces, '*' wildcards,
|
|
25
|
+
// and '-' exclusions, matching the Node debug package's selector grammar.
|
|
26
|
+
func WithLogger(ctx context.Context, namespaces string, out io.Writer) context.Context {
|
|
27
|
+
l := &logger{out: out}
|
|
28
|
+
for _, pattern := range strings.FieldsFunc(namespaces, func(r rune) bool { return r == ',' || unicode.IsSpace(r) }) {
|
|
29
|
+
exclude := strings.HasPrefix(pattern, "-")
|
|
30
|
+
pattern = strings.TrimPrefix(pattern, "-")
|
|
31
|
+
if pattern == "" {
|
|
32
|
+
continue
|
|
33
|
+
}
|
|
34
|
+
expression := "^" + strings.ReplaceAll(regexp.QuoteMeta(pattern), `\*`, ".*") + "$"
|
|
35
|
+
re := regexp.MustCompile(expression)
|
|
36
|
+
if exclude {
|
|
37
|
+
l.exclude = append(l.exclude, re)
|
|
38
|
+
} else {
|
|
39
|
+
l.include = append(l.include, re)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return context.WithValue(ctx, contextKey{}, l)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Enabled lets callers avoid constructing expensive diagnostic metadata when
|
|
46
|
+
// its namespace is disabled.
|
|
47
|
+
func Enabled(ctx context.Context, namespace string) bool {
|
|
48
|
+
if ctx == nil {
|
|
49
|
+
return false
|
|
50
|
+
}
|
|
51
|
+
l, _ := ctx.Value(contextKey{}).(*logger)
|
|
52
|
+
if l == nil || l.out == nil {
|
|
53
|
+
return false
|
|
54
|
+
}
|
|
55
|
+
for _, re := range l.exclude {
|
|
56
|
+
if re.MatchString(namespace) {
|
|
57
|
+
return false
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
for _, re := range l.include {
|
|
61
|
+
if re.MatchString(namespace) {
|
|
62
|
+
return true
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return false
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Printf writes one diagnostic line if namespace is enabled. Callers must pass
|
|
69
|
+
// only safe fields: this function escapes terminal controls, not secrets.
|
|
70
|
+
func Printf(ctx context.Context, namespace, format string, args ...any) {
|
|
71
|
+
if !Enabled(ctx, namespace) {
|
|
72
|
+
return
|
|
73
|
+
}
|
|
74
|
+
l := ctx.Value(contextKey{}).(*logger)
|
|
75
|
+
line := namespace + " " + fmt.Sprintf(format, args...)
|
|
76
|
+
line = strings.Map(func(r rune) rune {
|
|
77
|
+
if unicode.IsControl(r) {
|
|
78
|
+
return ' '
|
|
79
|
+
}
|
|
80
|
+
return r
|
|
81
|
+
}, line)
|
|
82
|
+
l.mu.Lock()
|
|
83
|
+
defer l.mu.Unlock()
|
|
84
|
+
_, _ = fmt.Fprintln(l.out, line)
|
|
85
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
package debuglog
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"bytes"
|
|
5
|
+
"context"
|
|
6
|
+
"strings"
|
|
7
|
+
"testing"
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
func TestNamespaceFiltering(t *testing.T) {
|
|
11
|
+
for _, tc := range []struct{ selector, want string }{
|
|
12
|
+
{"", ""},
|
|
13
|
+
{"*", "alpha one\nbeta two\n"},
|
|
14
|
+
{"alpha", "alpha one\n"},
|
|
15
|
+
{"a*,beta", "alpha one\nbeta two\n"},
|
|
16
|
+
{"*,-beta", "alpha one\n"},
|
|
17
|
+
{"-beta,*", "alpha one\n"},
|
|
18
|
+
{"alpha beta", "alpha one\nbeta two\n"},
|
|
19
|
+
{"[ab]*", ""},
|
|
20
|
+
} {
|
|
21
|
+
t.Run(tc.selector, func(t *testing.T) {
|
|
22
|
+
var out bytes.Buffer
|
|
23
|
+
ctx := WithLogger(context.Background(), tc.selector, &out)
|
|
24
|
+
Printf(ctx, "alpha", "%s", "one")
|
|
25
|
+
Printf(ctx, "beta", "%s", "two")
|
|
26
|
+
if out.String() != tc.want {
|
|
27
|
+
t.Fatalf("output = %q, want %q", out.String(), tc.want)
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
func TestLoggerIsScopedToContextAndEscapesControls(t *testing.T) {
|
|
34
|
+
var out bytes.Buffer
|
|
35
|
+
ctx := WithLogger(context.Background(), "*", &out)
|
|
36
|
+
Printf(context.Background(), "alpha", "must stay silent")
|
|
37
|
+
Printf(ctx, "alpha", "name=%s", "one\n\x1b[31mtwo")
|
|
38
|
+
if strings.Count(out.String(), "\n") != 1 || strings.Contains(out.String(), "\x1b") {
|
|
39
|
+
t.Fatalf("unsafe output: %q", out.String())
|
|
40
|
+
}
|
|
41
|
+
if !strings.Contains(out.String(), "one") || !strings.Contains(out.String(), "two") {
|
|
42
|
+
t.Fatalf("missing diagnostic: %q", out.String())
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -144,9 +144,12 @@ func wordpressTag(d *instancedata.InstanceData) string {
|
|
|
144
144
|
// phpFPMImagePrefix is the VIP php-fpm image repo; a bare version is appended.
|
|
145
145
|
const phpFPMImagePrefix = "ghcr.io/automattic/vip-container-images/php-fpm:"
|
|
146
146
|
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
const
|
|
147
|
+
// DefaultPHPVersion is the recommended PHP version for new environments.
|
|
148
|
+
// Keep this aligned with Node's DEV_ENVIRONMENT_DEFAULT_PHP_VERSION.
|
|
149
|
+
const DefaultPHPVersion = "8.4"
|
|
150
|
+
|
|
151
|
+
// defaultPHPImage is the recommended php-fpm image when none is specified.
|
|
152
|
+
const defaultPHPImage = phpFPMImagePrefix + DefaultPHPVersion
|
|
150
153
|
|
|
151
154
|
// phpImage resolves the php-fpm image from instance-data's php field, mirroring
|
|
152
155
|
// Node DEV_ENVIRONMENT_PHP_VERSIONS resolution: empty -> recommended default; a
|
|
@@ -108,7 +108,7 @@ func TestNewViewResolvesPHPImage(t *testing.T) {
|
|
|
108
108
|
return &instancedata.InstanceData{SiteSlug: "e", Multisite: json.RawMessage("false"), PHP: php}
|
|
109
109
|
}
|
|
110
110
|
cases := []struct{ php, want string }{
|
|
111
|
-
{"", "ghcr.io/automattic/vip-container-images/php-fpm:8.
|
|
111
|
+
{"", "ghcr.io/automattic/vip-container-images/php-fpm:8.4"}, // empty -> recommended default
|
|
112
112
|
{"8.4", "ghcr.io/automattic/vip-container-images/php-fpm:8.4"}, // bare version -> mapped image
|
|
113
113
|
{"ghcr.io/automattic/vip-container-images/php-fpm:8.3", "ghcr.io/automattic/vip-container-images/php-fpm:8.3"}, // explicit image -> as-is
|
|
114
114
|
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
package devenv
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"bytes"
|
|
5
|
+
"context"
|
|
6
|
+
"os"
|
|
7
|
+
"path/filepath"
|
|
8
|
+
"reflect"
|
|
9
|
+
"strings"
|
|
10
|
+
"testing"
|
|
11
|
+
|
|
12
|
+
"github.com/Automattic/vip/internal/debuglog"
|
|
13
|
+
"github.com/Automattic/vip/internal/devenv/paths"
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
func fakeDebugDocker(t *testing.T) {
|
|
17
|
+
t.Helper()
|
|
18
|
+
t.Setenv("XDG_DATA_HOME", t.TempDir())
|
|
19
|
+
t.Setenv("DOCKER_HOST", "tcp://user:docker-secret@localhost:1234")
|
|
20
|
+
bin := t.TempDir()
|
|
21
|
+
t.Setenv("PATH", bin)
|
|
22
|
+
// Only this fake is reachable; even an unexpected invocation cannot reach Docker.
|
|
23
|
+
script := `#!/bin/sh
|
|
24
|
+
case "$*" in
|
|
25
|
+
"compose version") exit 0 ;;
|
|
26
|
+
"compose -p running ps --format json --all") echo '{"Service":"php","State":"running","ExitCode":0}' ;;
|
|
27
|
+
"compose -p stopped ps --format json --all") echo '{"Service":"php","State":"exited","ExitCode":0}' ;;
|
|
28
|
+
"compose -p failed ps --format json --all") echo 'private-docker-error' >&2; exit 1 ;;
|
|
29
|
+
*) exit 1 ;;
|
|
30
|
+
esac
|
|
31
|
+
`
|
|
32
|
+
if err := os.WriteFile(filepath.Join(bin, "docker"), []byte(script), 0o700); err != nil {
|
|
33
|
+
t.Fatal(err)
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
func TestListDebugExplainsStatusWithoutChangingResults(t *testing.T) {
|
|
38
|
+
fakeDebugDocker(t)
|
|
39
|
+
for _, slug := range []string{"failed", "running", "stopped"} {
|
|
40
|
+
if err := os.MkdirAll(paths.EnvironmentPath(slug), 0o700); err != nil {
|
|
41
|
+
t.Fatal(err)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
for _, ns := range []string{"@automattic/vip:bin:dev-environment", "unrelated", ""} {
|
|
45
|
+
t.Run(ns, func(t *testing.T) {
|
|
46
|
+
var out bytes.Buffer
|
|
47
|
+
got, err := List(debuglog.WithLogger(context.Background(), ns, &out))
|
|
48
|
+
want := []EnvStatus{{Slug: "failed"}, {Slug: "running", Running: true}, {Slug: "stopped"}}
|
|
49
|
+
if err != nil || !reflect.DeepEqual(got, want) {
|
|
50
|
+
t.Fatalf("List = %#v, %v", got, err)
|
|
51
|
+
}
|
|
52
|
+
if ns != "@automattic/vip:bin:dev-environment" {
|
|
53
|
+
if out.Len() != 0 {
|
|
54
|
+
t.Fatalf("unexpected diagnostics: %s", &out)
|
|
55
|
+
}
|
|
56
|
+
return
|
|
57
|
+
}
|
|
58
|
+
for _, text := range []string{"Names found", "failed", "status query failed", "running=true", "running=false"} {
|
|
59
|
+
if !strings.Contains(out.String(), text) {
|
|
60
|
+
t.Errorf("missing %q in %s", text, &out)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
for _, secret := range []string{"docker-secret", "private-docker-error"} {
|
|
64
|
+
if strings.Contains(out.String(), secret) {
|
|
65
|
+
t.Errorf("leaked %q", secret)
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
func TestDevEnvDebugSummariesOmitArgumentsAndConfig(t *testing.T) {
|
|
73
|
+
fakeDebugDocker(t)
|
|
74
|
+
for _, tc := range []struct {
|
|
75
|
+
name string
|
|
76
|
+
run func(context.Context) error
|
|
77
|
+
}{
|
|
78
|
+
{"create", func(ctx context.Context) error {
|
|
79
|
+
return Create(ctx, CreateConfig{Title: "secret-title", Domain: "secret-domain"})
|
|
80
|
+
}},
|
|
81
|
+
{"update", func(ctx context.Context) error {
|
|
82
|
+
value := "secret-config"
|
|
83
|
+
return Update(ctx, "missing", UpdateConfig{XdebugConfig: &value})
|
|
84
|
+
}},
|
|
85
|
+
{"exec", func(ctx context.Context) error {
|
|
86
|
+
return Exec(ctx, "missing", []string{"config", "set", "DB_PASSWORD", "secret-argument"})
|
|
87
|
+
}},
|
|
88
|
+
{"shell", func(ctx context.Context) error {
|
|
89
|
+
return Shell(ctx, "missing", "php", false, []string{"echo", "secret-argument"})
|
|
90
|
+
}},
|
|
91
|
+
} {
|
|
92
|
+
t.Run(tc.name, func(t *testing.T) {
|
|
93
|
+
var out bytes.Buffer
|
|
94
|
+
_ = tc.run(debuglog.WithLogger(context.Background(), "@automattic/vip:bin:dev-environment", &out))
|
|
95
|
+
if !strings.Contains(out.String(), tc.name) {
|
|
96
|
+
t.Fatalf("missing operation diagnostic: %s", &out)
|
|
97
|
+
}
|
|
98
|
+
if strings.Contains(out.String(), "secret-") || strings.Contains(out.String(), "docker-secret") {
|
|
99
|
+
t.Fatalf("secret in diagnostic: %s", &out)
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -10,6 +10,7 @@ import (
|
|
|
10
10
|
"strings"
|
|
11
11
|
"time"
|
|
12
12
|
|
|
13
|
+
"github.com/Automattic/vip/internal/debuglog"
|
|
13
14
|
"github.com/Automattic/vip/internal/version"
|
|
14
15
|
|
|
15
16
|
"github.com/Automattic/vip/internal/devenv/compose"
|
|
@@ -28,9 +29,13 @@ import (
|
|
|
28
29
|
// session logger (set by the cobra layer for create/start), the runner tees its
|
|
29
30
|
// docker output into that per-env log.
|
|
30
31
|
func newRunner(ctx context.Context) (*dockercli.Runner, error) {
|
|
31
|
-
|
|
32
|
+
socket, err := dockercli.DockerSocket()
|
|
33
|
+
if err != nil {
|
|
34
|
+
debuglog.Printf(ctx, debugNamespace, "Docker endpoint resolution failed")
|
|
32
35
|
return nil, err
|
|
33
36
|
}
|
|
37
|
+
// DOCKER_HOST may contain credentials; only report whether it was resolved.
|
|
38
|
+
debuglog.Printf(ctx, debugNamespace, "Docker endpoint resolved: explicit=%t", socket != "")
|
|
34
39
|
return &dockercli.Runner{Log: devlog.FromContext(ctx)}, nil
|
|
35
40
|
}
|
|
36
41
|
|
|
@@ -64,6 +69,7 @@ type StartOptions struct {
|
|
|
64
69
|
|
|
65
70
|
// Create writes a new env and (when c.Start) starts it.
|
|
66
71
|
func Create(ctx context.Context, c CreateConfig) error {
|
|
72
|
+
debuglog.Printf(ctx, debugNamespace, "Will create an environment %q: start=%t", c.Slug, c.Start)
|
|
67
73
|
if err := writeNewEnv(c); err != nil {
|
|
68
74
|
return err
|
|
69
75
|
}
|
|
@@ -75,6 +81,7 @@ func Create(ctx context.Context, c CreateConfig) error {
|
|
|
75
81
|
|
|
76
82
|
// Start materializes + starts an existing env (detecting migration on first run).
|
|
77
83
|
func Start(ctx context.Context, slug string, opts StartOptions) error {
|
|
84
|
+
debuglog.Printf(ctx, debugNamespace, "Will start an environment %q: skipRebuild=%t", slug, opts.SkipRebuild)
|
|
78
85
|
r, err := newRunner(ctx)
|
|
79
86
|
if err != nil {
|
|
80
87
|
return err
|
|
@@ -95,6 +102,7 @@ func PlanLandoMigration(ctx context.Context, slug string) (lifecycle.MigrationPl
|
|
|
95
102
|
|
|
96
103
|
// Rebuild downs (keeping volumes) + orphan-guards, then re-runs the start stack.
|
|
97
104
|
func Rebuild(ctx context.Context, slug string) error {
|
|
105
|
+
debuglog.Printf(ctx, debugNamespace, "Will rebuild an environment %q", slug)
|
|
98
106
|
r, err := newRunner(ctx)
|
|
99
107
|
if err != nil {
|
|
100
108
|
return err
|
|
@@ -110,6 +118,7 @@ func Rebuild(ctx context.Context, slug string) error {
|
|
|
110
118
|
// the compose files, pull-gates images, and runs lifecycle.Start. Shared by Start
|
|
111
119
|
// and Rebuild.
|
|
112
120
|
func startStack(ctx context.Context, r *dockercli.Runner, deps lifecycle.Deps, slug string, opts StartOptions) error {
|
|
121
|
+
debuglog.Printf(ctx, debugNamespace, "Will try to get instance data for environment %q", slug)
|
|
113
122
|
// Write the diagnostic banner to the head of a fresh per-invocation log
|
|
114
123
|
// (Node parity: writeLogBanner). No-op if the file already has content.
|
|
115
124
|
if r.Log != nil {
|
|
@@ -127,6 +136,7 @@ func startStack(ctx context.Context, r *dockercli.Runner, deps lifecycle.Deps, s
|
|
|
127
136
|
if _, err := Materialize(slug, view); err != nil {
|
|
128
137
|
return err
|
|
129
138
|
}
|
|
139
|
+
debuglog.Printf(ctx, debugNamespace, "Environment %q configuration materialized", slug)
|
|
130
140
|
// One-time Lando adoption: after materialize (so `compose down` finds the
|
|
131
141
|
// project's compose file) and before Start (so the Go proxy/containers come up
|
|
132
142
|
// clean on the reused data volume).
|
|
@@ -139,7 +149,9 @@ func startStack(ctx context.Context, r *dockercli.Runner, deps lifecycle.Deps, s
|
|
|
139
149
|
return err
|
|
140
150
|
}
|
|
141
151
|
}
|
|
142
|
-
|
|
152
|
+
reachable := registryReachable()
|
|
153
|
+
pull := lifecycle.ShouldPull(time.Now(), d.PullAfter, reachable)
|
|
154
|
+
debuglog.Printf(ctx, debugNamespace, "Registry ghcr.io resolvable=%t; environment %q pull=%t", reachable, slug, pull)
|
|
143
155
|
if pull {
|
|
144
156
|
if err := r.Compose(ctx, slug, "pull"); err != nil {
|
|
145
157
|
return err
|
|
@@ -164,6 +176,7 @@ func startStack(ctx context.Context, r *dockercli.Runner, deps lifecycle.Deps, s
|
|
|
164
176
|
|
|
165
177
|
// Stop stops an env's containers.
|
|
166
178
|
func Stop(ctx context.Context, slug string) error {
|
|
179
|
+
debuglog.Printf(ctx, debugNamespace, "Will stop an environment %q", slug)
|
|
167
180
|
r, err := newRunner(ctx)
|
|
168
181
|
if err != nil {
|
|
169
182
|
return err
|
|
@@ -173,6 +186,7 @@ func Stop(ctx context.Context, slug string) error {
|
|
|
173
186
|
|
|
174
187
|
// StopAll stops every on-disk environment (Node `dev-env stop --all`).
|
|
175
188
|
func StopAll(ctx context.Context) error {
|
|
189
|
+
debuglog.Printf(ctx, debugNamespace, "Will stop all environments")
|
|
176
190
|
return stopEachEnv(instancedata.AllNames(), func(slug string) error {
|
|
177
191
|
return Stop(ctx, slug)
|
|
178
192
|
})
|
|
@@ -230,6 +244,7 @@ func eachEnv(names []string, fn func(string) error) error {
|
|
|
230
244
|
// `--soft`); otherwise the env dir is removed and /etc/hosts is recomputed for
|
|
231
245
|
// the remaining envs.
|
|
232
246
|
func Destroy(ctx context.Context, slug string, soft bool) error {
|
|
247
|
+
debuglog.Printf(ctx, debugNamespace, "Will destroy an environment %q: preserveFiles=%t", slug, soft)
|
|
233
248
|
r, err := newRunner(ctx)
|
|
234
249
|
if err != nil {
|
|
235
250
|
return err
|
|
@@ -275,6 +290,7 @@ func Destroy(ctx context.Context, slug string, soft bool) error {
|
|
|
275
290
|
// /etc/hosts block (only when some env had custom-domain entries — avoids a
|
|
276
291
|
// needless sudo prompt).
|
|
277
292
|
func Purge(ctx context.Context, soft bool) error {
|
|
293
|
+
debuglog.Printf(ctx, debugNamespace, "Will purge all environments: preserveFiles=%t", soft)
|
|
278
294
|
r, err := newRunner(ctx)
|
|
279
295
|
if err != nil {
|
|
280
296
|
return err
|
|
@@ -305,6 +321,7 @@ func Purge(ctx context.Context, soft bool) error {
|
|
|
305
321
|
|
|
306
322
|
// Info returns a human-readable summary of an env (URL from bound ports + status).
|
|
307
323
|
func Info(ctx context.Context, slug string) (string, error) {
|
|
324
|
+
debuglog.Printf(ctx, debugNamespace, "Will get info for an environment %q", slug)
|
|
308
325
|
r, err := newRunner(ctx)
|
|
309
326
|
if err != nil {
|
|
310
327
|
return "", err
|
|
@@ -323,6 +340,7 @@ func Info(ctx context.Context, slug string) (string, error) {
|
|
|
323
340
|
// a blank line (Node `dev-env info --all`).
|
|
324
341
|
func InfoAll(ctx context.Context) (string, error) {
|
|
325
342
|
names := instancedata.AllNames()
|
|
343
|
+
debuglog.Printf(ctx, debugNamespace, "Will print info for all environments. Names found: %q", names)
|
|
326
344
|
if len(names) == 0 {
|
|
327
345
|
return "No local environments found.\n", nil
|
|
328
346
|
}
|
|
@@ -6,6 +6,7 @@ import (
|
|
|
6
6
|
"io"
|
|
7
7
|
"os"
|
|
8
8
|
|
|
9
|
+
"github.com/Automattic/vip/internal/debuglog"
|
|
9
10
|
"github.com/Automattic/vip/internal/devenv/devlog"
|
|
10
11
|
"github.com/Automattic/vip/internal/devenv/devterm"
|
|
11
12
|
"github.com/Automattic/vip/internal/devenv/dockercli"
|
|
@@ -85,6 +86,7 @@ func shellArgv(r *dockercli.Runner, slug, service string, root bool, cmd []strin
|
|
|
85
86
|
// output to a file) it runs through plain pipes. Either way output tees into
|
|
86
87
|
// the unified log.
|
|
87
88
|
func Exec(ctx context.Context, slug string, wpArgs []string) error {
|
|
89
|
+
debuglog.Printf(ctx, debugNamespace, "Will exec a WP command in environment %q: arguments=%d", slug, len(wpArgs))
|
|
88
90
|
r, err := newRunner(ctx)
|
|
89
91
|
if err != nil {
|
|
90
92
|
return err
|
|
@@ -102,6 +104,7 @@ func Exec(ctx context.Context, slug string, wpArgs []string) error {
|
|
|
102
104
|
// Shell opens an interactive shell (or runs cmd) in a service container. Like
|
|
103
105
|
// Exec it falls back to plain pipes when stdin is not a terminal.
|
|
104
106
|
func Shell(ctx context.Context, slug, service string, root bool, cmd []string) error {
|
|
107
|
+
debuglog.Printf(ctx, debugNamespace, "Will open shell in environment %q: service=%q root=%t arguments=%d", slug, service, root, len(cmd))
|
|
105
108
|
r, err := newRunner(ctx)
|
|
106
109
|
if err != nil {
|
|
107
110
|
return err
|
|
@@ -13,6 +13,7 @@ import (
|
|
|
13
13
|
"strings"
|
|
14
14
|
|
|
15
15
|
"github.com/Automattic/vip/internal/appctx"
|
|
16
|
+
"github.com/Automattic/vip/internal/debuglog"
|
|
16
17
|
"github.com/Automattic/vip/internal/devenv/dockercli"
|
|
17
18
|
"github.com/Automattic/vip/internal/searchreplace"
|
|
18
19
|
)
|
|
@@ -207,6 +208,7 @@ func containerID(ctx context.Context, r importRunner, slug, service string) (str
|
|
|
207
208
|
// ImportSQL imports a SQL file into a running env, optionally search-replacing
|
|
208
209
|
// it first. The real docker cp + exec are exercised under the devenv_e2e gate.
|
|
209
210
|
func ImportSQL(ctx context.Context, slug, file string, o ImportOptions) error {
|
|
211
|
+
debuglog.Printf(ctx, debugNamespace, "Will import SQL into environment %q: inPlace=%t searchReplacePairs=%d", slug, o.InPlace, len(o.SearchReplace))
|
|
210
212
|
// --in-place rewrites the user's own dump irreversibly. Node reaches
|
|
211
213
|
// searchAndReplace from here via resolveImportPath (dev-environment-core.ts:854)
|
|
212
214
|
// with no batchMode, so its "This operation is not reversible" confirm
|
|
@@ -296,7 +298,7 @@ func importSQL(ctx context.Context, r importRunner, slug, file string, o ImportO
|
|
|
296
298
|
// `wp search-replace` after the import instead (see importMyDumperDump).
|
|
297
299
|
resolved := file
|
|
298
300
|
if !isMyDumper && len(o.SearchReplace) > 0 {
|
|
299
|
-
res, err := searchreplace.
|
|
301
|
+
res, err := searchreplace.RunContext(ctx, file, searchReplacePairs(o.SearchReplace), searchreplace.Options{InPlace: o.InPlace})
|
|
300
302
|
if err != nil {
|
|
301
303
|
return err
|
|
302
304
|
}
|
|
@@ -476,6 +478,7 @@ func decompressDumpToTemp(src string) (path string, cleanup func(), err error) {
|
|
|
476
478
|
|
|
477
479
|
// ImportMedia copies a local media directory's contents into the env uploads.
|
|
478
480
|
func ImportMedia(ctx context.Context, slug, srcDir string) error {
|
|
481
|
+
debuglog.Printf(ctx, debugNamespace, "Will import media into environment %q", slug)
|
|
479
482
|
r, err := newRunner(ctx)
|
|
480
483
|
if err != nil {
|
|
481
484
|
return err
|
package/internal/devenv/list.go
CHANGED
|
@@ -3,6 +3,7 @@ package devenv
|
|
|
3
3
|
import (
|
|
4
4
|
"context"
|
|
5
5
|
|
|
6
|
+
"github.com/Automattic/vip/internal/debuglog"
|
|
6
7
|
"github.com/Automattic/vip/internal/devenv/instancedata"
|
|
7
8
|
"github.com/Automattic/vip/internal/devenv/lifecycle"
|
|
8
9
|
)
|
|
@@ -32,9 +33,16 @@ func List(ctx context.Context) ([]EnvStatus, error) {
|
|
|
32
33
|
}
|
|
33
34
|
d := dockerAdapter{r: r}
|
|
34
35
|
var out []EnvStatus
|
|
35
|
-
|
|
36
|
+
names := instancedata.AllNames()
|
|
37
|
+
debuglog.Printf(ctx, debugNamespace, "Will print info for all environments. Names found: %q", names)
|
|
38
|
+
for _, slug := range names {
|
|
36
39
|
states, err := d.ComposePS(ctx, slug)
|
|
37
40
|
running := err == nil && anyRunning(states)
|
|
41
|
+
if err != nil {
|
|
42
|
+
debuglog.Printf(ctx, debugNamespace, "Environment %q status query failed; reporting stopped", slug)
|
|
43
|
+
} else {
|
|
44
|
+
debuglog.Printf(ctx, debugNamespace, "Environment %q: services=%d running=%t", slug, len(states), running)
|
|
45
|
+
}
|
|
38
46
|
out = append(out, EnvStatus{Slug: slug, Running: running})
|
|
39
47
|
}
|
|
40
48
|
return out, nil
|
package/internal/devenv/logs.go
CHANGED
|
@@ -3,6 +3,7 @@ package devenv
|
|
|
3
3
|
import (
|
|
4
4
|
"context"
|
|
5
5
|
|
|
6
|
+
"github.com/Automattic/vip/internal/debuglog"
|
|
6
7
|
"github.com/Automattic/vip/internal/devenv/devlog"
|
|
7
8
|
)
|
|
8
9
|
|
|
@@ -27,6 +28,7 @@ func logsArgs(o LogOptions) []string {
|
|
|
27
28
|
|
|
28
29
|
// Logs streams an env's container logs, tee'd through the unified log.
|
|
29
30
|
func Logs(ctx context.Context, slug string, o LogOptions) error {
|
|
31
|
+
debuglog.Printf(ctx, debugNamespace, "Will display logs for environment %q: service=%q follow=%t", slug, o.Service, o.Follow)
|
|
30
32
|
r, err := newRunner(ctx)
|
|
31
33
|
if err != nil {
|
|
32
34
|
return err
|
|
@@ -42,14 +42,20 @@ func CAHostPath() string {
|
|
|
42
42
|
|
|
43
43
|
// EnsureCA runs a one-shot container that idempotently generates the CA
|
|
44
44
|
// (lndo.site.pem / lndo.site.key) in the shared certs volume.
|
|
45
|
+
//
|
|
46
|
+
// Both one-shot runs here override the image entrypoint with sh: the stock
|
|
47
|
+
// Traefik entrypoint.sh probes whether $1 is a Traefik subcommand and, when it
|
|
48
|
+
// is not, prints "= 'sh' is not a Traefik command: assuming shell execution."
|
|
49
|
+
// to stderr before exec'ing anyway. Bypassing it drops that noise.
|
|
45
50
|
func EnsureCA(ctx context.Context, r DockerRunner) error {
|
|
46
51
|
// Intentionally omits proxy_config: no CERT_BASENAME/CERT_SANS are passed,
|
|
47
52
|
// so the script's leaf-cert and Traefik YAML section is skipped entirely.
|
|
48
53
|
return r.Docker(ctx,
|
|
49
54
|
"run", "--rm",
|
|
55
|
+
"--entrypoint", "sh",
|
|
50
56
|
"-v", ProxyCertsVolume+":/certs",
|
|
51
57
|
ProxyImage,
|
|
52
|
-
"
|
|
58
|
+
"-c", genCertsScript,
|
|
53
59
|
)
|
|
54
60
|
}
|
|
55
61
|
|
|
@@ -74,6 +80,7 @@ func EnsureCert(ctx context.Context, r DockerRunner, req CertRequest) error {
|
|
|
74
80
|
|
|
75
81
|
args := []string{
|
|
76
82
|
"run", "--rm",
|
|
83
|
+
"--entrypoint", "sh",
|
|
77
84
|
"-v", ProxyCertsVolume + ":/certs",
|
|
78
85
|
"-v", ProxyConfigVolume + ":/proxy_config",
|
|
79
86
|
"-e", "CERT_BASENAME=" + req.Basename,
|
|
@@ -84,7 +91,7 @@ func EnsureCert(ctx context.Context, r DockerRunner, req CertRequest) error {
|
|
|
84
91
|
args = append(args,
|
|
85
92
|
"-e", "CERT_SANS="+strings.Join(req.SANs, " "),
|
|
86
93
|
ProxyImage,
|
|
87
|
-
"
|
|
94
|
+
"-c", genCertsScript,
|
|
88
95
|
)
|
|
89
96
|
|
|
90
97
|
return r.Docker(ctx, args...)
|
|
@@ -32,7 +32,7 @@ func TestEnsureCARunsGenScript(t *testing.T) {
|
|
|
32
32
|
t.Fatalf("expected 1 docker call, got %d: %v", len(r.calls), r.calls)
|
|
33
33
|
}
|
|
34
34
|
joined := strings.Join(r.calls[0], " ")
|
|
35
|
-
for _, want := range []string{"run", "--rm", ProxyCertsVolume + ":/certs", ProxyImage, "
|
|
35
|
+
for _, want := range []string{"run", "--rm", "--entrypoint", "sh", ProxyCertsVolume + ":/certs", ProxyImage, "-c"} {
|
|
36
36
|
if !strings.Contains(joined, want) {
|
|
37
37
|
t.Fatalf("EnsureCA call missing %q:\n%s", want, joined)
|
|
38
38
|
}
|
|
@@ -7,17 +7,21 @@ import (
|
|
|
7
7
|
)
|
|
8
8
|
|
|
9
9
|
// DockerRunner is the slice of dockercli.Runner this package needs. The
|
|
10
|
-
// concrete *dockercli.Runner satisfies it
|
|
10
|
+
// concrete *dockercli.Runner satisfies it. Docker tees output to the terminal
|
|
11
|
+
// and log; DockerOut captures stdout silently for read-only state queries.
|
|
11
12
|
type DockerRunner interface {
|
|
12
13
|
Docker(ctx context.Context, args ...string) error
|
|
14
|
+
DockerOut(ctx context.Context, args ...string) ([]byte, error)
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
// EnsureNetwork creates the shared external bridge network if it is absent.
|
|
16
18
|
// Ports Lando's bridge-network role onto our single shared network
|
|
17
19
|
// (compose.ProxyNetwork). docker network inspect returns non-zero when the
|
|
18
|
-
// network does not exist; we then create it.
|
|
20
|
+
// network does not exist; we then create it. The inspect is a pure existence
|
|
21
|
+
// probe, so its stdout (the full network JSON) is captured rather than teed to
|
|
22
|
+
// the terminal.
|
|
19
23
|
func EnsureNetwork(ctx context.Context, r DockerRunner) error {
|
|
20
|
-
if err := r.
|
|
24
|
+
if _, err := r.DockerOut(ctx, "network", "inspect", compose.ProxyNetwork); err == nil {
|
|
21
25
|
return nil
|
|
22
26
|
}
|
|
23
27
|
return r.Docker(ctx, "network", "create", "--driver", "bridge", compose.ProxyNetwork)
|
|
@@ -32,6 +32,12 @@ func (f *fakeRunner) Docker(ctx context.Context, args ...string) error {
|
|
|
32
32
|
return nil
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
// DockerOut mirrors Docker's scripting: a matching failSub errors, otherwise
|
|
36
|
+
// empty stdout (no proxy container -> IsRunning false).
|
|
37
|
+
func (f *fakeRunner) DockerOut(ctx context.Context, args ...string) ([]byte, error) {
|
|
38
|
+
return nil, f.Docker(ctx, args...)
|
|
39
|
+
}
|
|
40
|
+
|
|
35
41
|
func TestEnsureNetworkCreatesWhenMissing(t *testing.T) {
|
|
36
42
|
// network inspect fails (missing) -> network create is issued.
|
|
37
43
|
r := &fakeRunner{failSub: "inspect"}
|
|
@@ -4,6 +4,7 @@ import (
|
|
|
4
4
|
"context"
|
|
5
5
|
"errors"
|
|
6
6
|
"fmt"
|
|
7
|
+
"strings"
|
|
7
8
|
)
|
|
8
9
|
|
|
9
10
|
// EnsureOptions configures an Ensure call. Domain is used in Traefik env vars.
|
|
@@ -14,14 +15,35 @@ type EnsureOptions struct {
|
|
|
14
15
|
free func(int) bool
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
// containerState is the shared proxy container's observed state.
|
|
19
|
+
type containerState int
|
|
20
|
+
|
|
21
|
+
const (
|
|
22
|
+
stateAbsent containerState = iota // no container with ProxyContainerName
|
|
23
|
+
stateStopped // container exists but is not running
|
|
24
|
+
stateRunning // container exists and is running
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
// inspectState reads the proxy container's running state via
|
|
28
|
+
// `docker inspect -f {{.State.Running}}`. inspect exits 0 for a *stopped*
|
|
29
|
+
// container too (printing "false"), so the exit code alone cannot tell a
|
|
30
|
+
// stopped orphan from a healthy proxy: the printed value must be read.
|
|
31
|
+
func inspectState(ctx context.Context, r DockerRunner) containerState {
|
|
32
|
+
out, err := r.DockerOut(ctx, "inspect", "-f", "{{.State.Running}}", ProxyContainerName)
|
|
33
|
+
if err != nil {
|
|
34
|
+
return stateAbsent
|
|
35
|
+
}
|
|
36
|
+
if strings.TrimSpace(string(out)) == "true" {
|
|
37
|
+
return stateRunning
|
|
38
|
+
}
|
|
39
|
+
return stateStopped
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// IsRunning reports whether the proxy container exists AND is running. A
|
|
43
|
+
// stopped orphan (e.g. left behind by a Docker restart or a crashed start)
|
|
44
|
+
// reports false; Ensure removes it before starting a fresh proxy.
|
|
22
45
|
func IsRunning(ctx context.Context, r DockerRunner) bool {
|
|
23
|
-
|
|
24
|
-
return err == nil
|
|
46
|
+
return inspectState(ctx, r) == stateRunning
|
|
25
47
|
}
|
|
26
48
|
|
|
27
49
|
// Ensure starts the shared Traefik proxy if it is not already running,
|
|
@@ -38,12 +60,19 @@ func Ensure(ctx context.Context, r DockerRunner, opts EnsureOptions) (Ports, err
|
|
|
38
60
|
free = ListenProbe
|
|
39
61
|
}
|
|
40
62
|
|
|
41
|
-
|
|
63
|
+
switch inspectState(ctx, r) {
|
|
64
|
+
case stateRunning:
|
|
42
65
|
// Already running — load whatever ports were persisted last time.
|
|
43
66
|
// A missing state file yields zero Ports (no error); the caller treats
|
|
44
67
|
// that as "ports unknown".
|
|
45
68
|
ports, err := LoadPorts(PortsStatePath())
|
|
46
69
|
return ports, err
|
|
70
|
+
case stateStopped:
|
|
71
|
+
// A stopped orphan holds the container name (and its old port
|
|
72
|
+
// bindings), so `docker run --name` below would fail. Remove it and
|
|
73
|
+
// fall through to start a fresh proxy (parity: Node's
|
|
74
|
+
// ensureNoOrphantProxyContainer).
|
|
75
|
+
_ = RemoveOrphan(ctx, r)
|
|
47
76
|
}
|
|
48
77
|
|
|
49
78
|
if err := EnsureNetwork(ctx, r); err != nil {
|