Skip to content

Automated Integration Test Goldens Update from CI#6438

Merged
nick-nlb merged 2 commits into
masterfrom
nl-golden-update-339218b8-b632-49d1-a342-19110dc1adad
Jul 10, 2026
Merged

Automated Integration Test Goldens Update from CI#6438
nick-nlb merged 2 commits into
masterfrom
nl-golden-update-339218b8-b632-49d1-a342-19110dc1adad

Merge branch 'master' into nl-golden-update-339218b8-b632-49d1-a342-1…

3f05799
Select commit
Loading
Failed to load commit list.
Google Cloud Build / website-pull-request-npm (datcom-ci) succeeded Jul 10, 2026 in 6m 26s

Summary

Build Information

Trigger website-pull-request-npm
Build 1460ff8f-2b3c-46a8-b190-701908c05b77
Start 2026-07-10T15:04:01-07:00
Duration 5m32.678s
Status SUCCESS

Steps

Step Status Duration
client-test SUCCESS 5m22.567s

Details

starting build "1460ff8f-2b3c-46a8-b190-701908c05b77"

FETCHSOURCE
From https://github.com/datacommonsorg/website
 * branch            3f05799877f7914f04fbc4e930a90f6a15a61428 -> FETCH_HEAD
Updating files:  88% (2039/2307)
Updating files:  89% (2054/2307)
Updating files:  90% (2077/2307)
Updating files:  91% (2100/2307)
Updating files:  92% (2123/2307)
Updating files:  93% (2146/2307)
Updating files:  94% (2169/2307)
Updating files:  95% (2192/2307)
Updating files:  96% (2215/2307)
Updating files:  97% (2238/2307)
Updating files:  98% (2261/2307)
Updating files:  99% (2284/2307)
Updating files: 100% (2307/2307)
Updating files: 100% (2307/2307), done.
HEAD is now at 3f05799 Merge branch 'master' into nl-golden-update-339218b8-b632-49d1-a342-19110dc1adad
GitCommit:
3f05799877f7914f04fbc4e930a90f6a15a61428
BUILD
Pulling image: gcr.io/datcom-ci/node:2025-10-01
2025-10-01: Pulling from datcom-ci/node
b85a868b505f: Pulling fs layer
4bc2eda9354f: Pulling fs layer
a407a484e74b: Pulling fs layer
cc6fff309142: Pulling fs layer
09be68c4cfd1: Pulling fs layer
4f2fc846f636: Pulling fs layer
b471a8c3f1d6: Pulling fs layer
dd5c82065067: Pulling fs layer
b471a8c3f1d6: Waiting
c79cd3db6e51: Pulling fs layer
71f0d0490247: Pulling fs layer
8674d43d4892: Pulling fs layer
574e4ed3a819: Pulling fs layer
81f0d49e568a: Pulling fs layer
6d2718751084: Pulling fs layer
8061492fb0d0: Pulling fs layer
bdb0d3f2b395: Pulling fs layer
dd5c82065067: Waiting
81f0d49e568a: Waiting
c79cd3db6e51: Waiting
8674d43d4892: Waiting
574e4ed3a819: Waiting
6d2718751084: Waiting
71f0d0490247: Waiting
bdb0d3f2b395: Waiting
09be68c4cfd1: Verifying Checksum
09be68c4cfd1: Download complete
cc6fff309142: Verifying Checksum
cc6fff309142: Download complete
4bc2eda9354f: Download complete
b471a8c3f1d6: Verifying Checksum
b471a8c3f1d6: Download complete
c79cd3db6e51: Verifying Checksum
c79cd3db6e51: Download complete
dd5c82065067: Verifying Checksum
dd5c82065067: Download complete
a407a484e74b: Verifying Checksum
a407a484e74b: Download complete
71f0d0490247: Verifying Checksum
71f0d0490247: Download complete
4f2fc846f636: Download complete
574e4ed3a819: Verifying Checksum
574e4ed3a819: Download complete
b85a868b505f: Verifying Checksum
b85a868b505f: Download complete
8674d43d4892: Verifying Checksum
8674d43d4892: Download complete
81f0d49e568a: Verifying Checksum
81f0d49e568a: Download complete
bdb0d3f2b395: Verifying Checksum
bdb0d3f2b395: Download complete
b85a868b505f: Pull complete
4bc2eda9354f: Pull complete
8061492fb0d0: Verifying Checksum
8061492fb0d0: Download complete
a407a484e74b: Pull complete
cc6fff309142: Pull complete
09be68c4cfd1: Pull complete
6d2718751084: Verifying Checksum
6d2718751084: Download complete
4f2fc846f636: Pull complete
b471a8c3f1d6: Pull complete
dd5c82065067: Pull complete
c79cd3db6e51: Pull complete
71f0d0490247: Pull complete
8674d43d4892: Pull complete
574e4ed3a819: Pull complete
81f0d49e568a: Pull complete
6d2718751084: Pull complete
8061492fb0d0: Pull complete
bdb0d3f2b395: Pull complete
Digest: sha256:d370b82042aace3f1dc24e23066f8ae12d6afd2190425d9db9dcc43fb4c5b10e
Status: Downloaded newer image for gcr.io/datcom-ci/node:2025-10-01
gcr.io/datcom-ci/node:2025-10-01
+ ./build/node/load_preinstalled_modules.sh
+ ./run_test.sh -l
### Running lint
datacommons.org@1.0.0 /workspace/static
+-- @typescript-eslint/eslint-plugin@5.30.7
| +-- @typescript-eslint/type-utils@5.30.7
| | `-- eslint@7.32.0 deduped
| +-- @typescript-eslint/utils@5.30.7
| | +-- eslint-utils@3.0.0
| | | `-- eslint@7.32.0 deduped
| | `-- eslint@7.32.0 deduped
| `-- eslint@7.32.0 deduped
+-- @typescript-eslint/parser@5.30.7
| `-- eslint@7.32.0 deduped
+-- eslint-config-prettier@6.11.0
| `-- eslint@7.32.0 deduped
+-- eslint-plugin-prettier@3.1.4
| `-- eslint@7.32.0 deduped
+-- eslint-plugin-react-hooks@4.3.0
| `-- eslint@7.32.0 deduped
+-- eslint-plugin-react@7.20.6
| `-- eslint@7.32.0 deduped
+-- eslint-plugin-simple-import-sort@7.0.0
| `-- eslint@7.32.0 deduped
`-- eslint@7.32.0


> datacommons.org@1.0.0 test-lint
> eslint .


/workspace/static/js/apps/base/components/header_bar/header_bar_search.tsx
  88:6  warning  React Hook useEffect has a missing dependency: 'enableStatVarAutocomplete'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/apps/explore/app.tsx
  152:6  warning  React Hook useEffect has missing dependencies: 'handleHashChange' and 'props.isDemo'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/apps/explore/autoplay.tsx
  107:6  warning  React Hook useEffect has a missing dependency: 'props'. Either include it or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect  react-hooks/exhaustive-deps

/workspace/static/js/apps/explore/page_overview.tsx
  32:10  warning  'isFeatureEnabled' is defined but never used  @typescript-eslint/no-unused-vars

/workspace/static/js/apps/explore/result_header_section.tsx
  442:6  warning  React Hook useEffect has a missing dependency: 'dataCommonsClient.webClient'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/components/nl_search_bar/auto_complete_input.tsx
  295:6  warning  React Hook useEffect has missing dependencies: 'changeText' and 'inputText'. Either include them or remove the dependency array       react-hooks/exhaustive-deps
  308:6  warning  React Hook useEffect has a missing dependency: 'executeQuery'. Either include it or remove the dependency array                       react-hooks/exhaustive-deps
  403:5  warning  React Hook useCallback has a missing dependency: 'props.enableStatVarAutocomplete'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/components/nl_search_bar/auto_complete_suggestions.tsx
  155:6  warning  React Hook useEffect has a missing dependency: 'calculatedInitalVisibleResults'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/components/nl_search_bar/nl_search_bar_header_inline.tsx
  50:6  warning  React Hook useEffect has a missing dependency: 'urlParams'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/components/ranking_unit.tsx
  235:9  warning  'urlFunc' is assigned a value but never used  @typescript-eslint/no-unused-vars

/workspace/static/js/components/subject_page/disaster_event_block.tsx
  127:6  warning  React Hook useEffect has a missing dependency: 'filterSectionHeight'. Either include it or remove the dependency array                                   react-hooks/exhaustive-deps
  154:6  warning  React Hook useEffect has missing dependencies: 'disasterEventData', 'fetchData', and 'getSpinnerId'. Either include them or remove the dependency array  react-hooks/exhaustive-deps
  179:6  warning  React Hook useEffect has a missing dependency: 'props.id'. Either include it or remove the dependency array                                              react-hooks/exhaustive-deps

/workspace/static/js/components/tiles/bar_tile.tsx
   80:10  warning  'buildExploreUrl' is defined but never used      @typescript-eslint/no-unused-vars
  758:10  warning  'getExploreLink' is defined but never used       @typescript-eslint/no-unused-vars
  781:10  warning  'getHyperlinkFn' is defined but never used       @typescript-eslint/no-unused-vars
  788:9   warning  'placeDcids' is assigned a value but never used  @typescript-eslint/no-unused-vars

/workspace/static/js/components/tiles/disaster_event_map_selectors.tsx
  79:6  warning  React Hook useEffect has a missing dependency: 'updateDateOptions'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/components/tiles/disaster_event_map_tile.tsx
  161:6  warning  React Hook useEffect has a missing dependency: 'fetchData'. Either include it or remove the dependency array                                                react-hooks/exhaustive-deps
  178:6  warning  React Hook useEffect has missing dependencies: 'props', 'shouldShowMap', 'svgHeight', and 'zoomParams'. Either include them or remove the dependency array  react-hooks/exhaustive-deps
  189:6  warning  React Hook useEffect has a missing dependency: 'getSvgHeight'. Either include it or remove the dependency array                                             react-hooks/exhaustive-deps

/workspace/static/js/components/tiles/histogram_tile.tsx
  237:7  warning  The 'histogramData' array makes the dependencies of useCallback Hook (at line 251) change on every render. To fix this, wrap the initialization of 'histogramData' in its own useMemo() Hook  react-hooks/exhaustive-deps

/workspace/static/js/components/tiles/map_tile.tsx
  330:6  warning  React Hook useCallback has a missing dependency: 'zoomParams'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/components/tiles/scatter_tile.tsx
  194:6  warning  React Hook useEffect has missing dependencies: 'areDataPropsEqual' and 'props'. Either include them or remove the dependency array  react-hooks/exhaustive-deps
  216:6  warning  React Hook useCallback has a missing dependency: 'areDataPropsEqual'. Either include it or remove the dependency array              react-hooks/exhaustive-deps

/workspace/static/js/components/tiles/top_event_tile.tsx
  90:6  warning  React Hook useEffect has missing dependencies: 'topEvents' and 'updateEventPlaces'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/dev/subject_page_tiles.tsx
  30:5  warning  Identifier 'Count_Person' is not in camel case         camelcase
  38:5  warning  Identifier 'Count_Person_Female' is not in camel case  camelcase
  46:5  warning  Identifier 'Count_Person_Male' is not in camel case    camelcase
  54:5  warning  Identifier 'Median_Age_Person' is not in camel case    camelcase

/workspace/static/js/import_wizard/components/mapping_section.tsx
  120:6  warning  React Hook useEffect has a missing dependency: 'props'. Either include it or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect  react-hooks/exhaustive-deps

/workspace/static/js/import_wizard/components/mapping_table_header.tsx
  59:6  warning  React Hook useEffect has missing dependencies: 'editHeaderState.colIdx' and 'onHeaderUpdated'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/import_wizard/components/value_map_section.tsx
  61:6  warning  React Hook useEffect has a missing dependency: 'props'. Either include it or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect  react-hooks/exhaustive-deps

/workspace/static/js/import_wizard2/components/mapping_page.tsx
  57:6  warning  React Hook useEffect has a missing dependency: 'scrollToPreview'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/import_wizard2/components/upload_page.tsx
  62:6  warning  React Hook useEffect has a missing dependency: 'processFile'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/place/place_main.tsx
  437:6  warning  React Hook useEffect has missing dependencies: 'isOverview', 'locale', 'receivedApiResponse', and 'setStorePlaceholderString'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/shared/hooks.ts
  64:5   warning  React Hook useMemo has a missing dependency: 'rootMargin'. Either include it or remove the dependency array                                                                                                                                                              react-hooks/exhaustive-deps
  78:24  warning  The ref value 'containerRef.current' will likely have changed by the time this effect cleanup function runs. If this ref points to a node rendered by React, copy 'containerRef.current' to a variable inside the effect, and use that variable in the cleanup function  react-hooks/exhaustive-deps

/workspace/static/js/shared/place_selector.tsx
  110:6  warning  React Hook useEffect has a missing dependency: 'loadChildPlaceTypes'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/shared/stores/query_store_hook.tsx
  105:6  warning  React Hook useEffect has a missing dependency: 'placeholder'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/stat_var_hierarchy/drawer_resize.tsx
  50:5  warning  React Hook React.useCallback has missing dependencies: 'setWidth' and 'sidebarRef'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/tools/download/page.tsx
  128:6  warning  React Hook useEffect has a missing dependency: 'showPreview'. Either include it or remove the dependency array               react-hooks/exhaustive-deps
  215:6  warning  React Hook useEffect has a missing dependency: 'shouldHideSourceSelector'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/tools/download/preview.tsx
  62:6  warning  React Hook useEffect has a missing dependency: 'getCsvReqPayload'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/tools/map/d3_map.tsx
  266:6  warning  React Hook useEffect has missing dependencies: 'display.value.showMapPoints' and 'draw'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/tools/map/place_details.tsx
  177:9  warning  'parentPlaces' is assigned a value but never used  @typescript-eslint/no-unused-vars

/workspace/static/js/tools/map/place_options.tsx
  71:6  warning  React Hook useEffect has a missing dependency: 'placeInfo'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/tools/map/stat_var_chooser.tsx
   80:6  warning  React Hook useEffect has missing dependencies: 'placeInfo' and 'statVar'. Either include them or remove the dependency array  react-hooks/exhaustive-deps
  104:6  warning  React Hook useEffect has a missing dependency: 'statVar'. Either include it or remove the dependency array                    react-hooks/exhaustive-deps

/workspace/static/js/tools/scatter/app.test.tsx
  60:6  warning  React Hook useEffect has a missing dependency: 'context.place'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/tools/scatter/chart.tsx
  143:6   warning  React Hook useEffect has missing dependencies: 'props.placeInfo.enclosedPlaceType' and 'props.placeInfo.enclosingPlace.dcid'. Either include them or remove the dependency array  react-hooks/exhaustive-deps
  186:6   warning  React Hook useEffect has a missing dependency: 'replot'. Either include it or remove the dependency array                                                                         react-hooks/exhaustive-deps
  200:6   warning  React Hook useEffect has a missing dependency: 'statVars'. Either include it or remove the dependency array                                                                       react-hooks/exhaustive-deps
  200:7   warning  React Hook useEffect has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked                                          react-hooks/exhaustive-deps
  200:20  warning  React Hook useEffect has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked                                          react-hooks/exhaustive-deps

/workspace/static/js/tools/scatter/chart_loader.tsx
  409:6  warning  React Hook useEffect has missing dependencies: 'cache', 'isLoading', 'x', and 'y'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/workspace/static/js/tools/scatter/statvar.tsx
   94:6  warning  React Hook useEffect has missing dependencies: 'place.value.enclosedPlaceType' and 'place.value.enclosingPlace.dcid'. Either include them or remove the dependency array  react-hooks/exhaustive-deps
  139:6  warning  React Hook useEffect has missing dependencies: 'x' and 'y'. Either include them or remove the dependency array                                                            react-hooks/exhaustive-deps

/workspace/static/js/tools/shared/place_selector/enclosed_places_selector.tsx
  102:6  warning  React Hook useEffect has missing dependencies: 'childPlaceTypes' and 'props'. Either include them or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect  react-hooks/exhaustive-deps
  109:6  warning  React Hook useEffect has a missing dependency: 'props'. Either include it or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect                          react-hooks/exhaustive-deps

/workspace/static/js/tools/shared/stat_var_widget.tsx
  127:6  warning  React Hook useEffect has a missing dependency: 'props'. Either include it or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect  react-hooks/exhaustive-deps

/workspace/static/js/utils/click_alerter.ts
  42:6  warning  React Hook useEffect has a missing dependency: 'callbackFunction'. Either include it or remove the dependency array. If 'callbackFunction' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps
  68:6  warning  React Hook useEffect has a missing dependency: 'callbackFunction'. Either include it or remove the dependency array. If 'callbackFunction' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

✖ 64 problems (0 errors, 64 warnings)

+ ./run_test.sh -b
### Build client-side packages

added 13 packages, removed 3 packages, and changed 27 packages in 2s

28 packages are looking for funding
  run `npm fund` for details
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'cliui@9.0.1',
npm WARN EBADENGINE   required: { node: '>=20' },
npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'yargs@18.0.0',
npm WARN EBADENGINE   required: { node: '^20.19.0 || ^22.12.0 || >=23' },
npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'yargs-parser@22.0.0',
npm WARN EBADENGINE   required: { node: '^20.19.0 || ^22.12.0 || >=23' },
npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
npm WARN EBADENGINE }

added 23 packages, removed 16 packages, and changed 74 packages in 5s

73 packages are looking for funding
  run `npm fund` for details

added 48 packages, removed 601 packages, and changed 160 packages in 14s

271 packages are looking for funding
  run `npm fund` for details

> datacommons.org@1.0.0 dev-build
> wireit

Analyzing
  0% [0 / 3] [2 running] ../packages/client:build
 33% [1 / 3] [1 running] ../packages/client:build
#### Building webpack in development mode
assets by path �[1m�[32m*.js�[39m�[22m 151 MiB 78 assets
assets by path �[1m�[32mimages/�[39m�[22m 19.2 MiB 48 assets
assets by path �[1m�[32mcustom_dc/�[39m�[22m 4.47 MiB 41 assets
assets by path �[1m�[32msitemap/*.txt�[39m�[22m 79.6 MiB 34 assets
assets by path �[1m�[32mcss/�[39m�[22m 10.8 MiB 34 assets
assets by path �[1m�[32mdata/�[39m�[22m 1.28 MiB
  asset �[1m�[32mdata/factcheck/fact_checks_20190605.txt.gz�[39m�[22m 656 KiB �[1m�[32m[emitted]�[39m�[22m [from: data/factcheck/fact_checks_20190605.txt.gz] �[1m�[32m[copied]�[39m�[22m
  + 2 assets
assets by path �[1m�[32mfonts/*.ttf�[39m�[22m 308 KiB
  asset �[1m�[32mfonts/GoogleSans-Medium.ttf�[39m�[22m 154 KiB �[1m�[32m[emitted]�[39m�[22m [from: fonts/GoogleSans-Medium.ttf] �[1m�[32m[copied]�[39m�[22m
  asset �[1m�[32mfonts/GoogleSans-Regular.ttf�[39m�[22m 154 KiB �[1m�[32m[emitted]�[39m�[22m [from: fonts/GoogleSans-Regular.ttf] �[1m�[32m[copied]�[39m�[22m
assets by path �[1m�[32m*.ico�[39m�[22m 100 KiB
  asset �[1m�[32msustain_favicon.ico�[39m�[22m 98.9 KiB �[1m�[32m[emitted]�[39m�[22m [from: sustain_favicon.ico] �[1m�[32m[copied]�[39m�[22m
  asset �[1m�[32mold_favicon.ico�[39m�[22m 1.12 KiB �[1m�[32m[emitted]�[39m�[22m [from: old_favicon.ico] �[1m�[32m[copied]�[39m�[22m
asset �[1m�[32mrobots.txt�[39m�[22m 2.08 KiB �[1m�[32m[emitted]�[39m�[22m [from: robots.txt] �[1m�[32m[copied]�[39m�[22m
runtime modules 238 KiB 397 modules
orphan modules 470 KiB �[1m�[33m[orphan]�[39m�[22m 280 modules
javascript modules 9.63 MiB
  modules by path �[1m./node_modules/�[39m�[22m 6.84 MiB 1365 modules
  modules by path �[1m./js/�[39m�[22m 2.34 MiB 507 modules
  modules by path �[1m./css/�[39m�[22m 224 KiB 34 modules
  modules by path �[1m./library/*.ts�[39m�[22m 82.2 KiB 13 modules
  + 6 modules
json modules 759 KiB
  optional modules 582 KiB �[1m�[33m[optional]�[39m�[22m 35 modules
  modules by path �[1m./js/apps/�[39m�[22m 125 KiB 4 modules
  modules by path �[1m./js/import_wizard/�[39m�[22m 37.8 KiB 2 modules
  �[1m./js/i18n/compiled-lang/en/units.json�[39m�[22m 2.07 KiB �[1m�[33m[built]�[39m�[22m �[1m�[33m[code generated]�[39m�[22m
  �[1m./js/tools/shared/place_selector/place_hierarchy.json�[39m�[22m 12.3 KiB �[1m�[33m[built]�[39m�[22m �[1m�[33m[code generated]�[39m�[22m
webpack 5.94.0 compiled �[1m�[32msuccessfully�[39m�[22m in 150314 ms
✅ Ran 3 scripts and skipped 0 in 162.2s.
+ ./run_test.sh -c
### Running client tests

up to date in 496ms

28 packages are looking for funding
  run `npm fund` for details
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'cliui@9.0.1',
npm WARN EBADENGINE   required: { node: '>=20' },
npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'yargs@18.0.0',
npm WARN EBADENGINE   required: { node: '^20.19.0 || ^22.12.0 || >=23' },
npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'yargs-parser@22.0.0',
npm WARN EBADENGINE   required: { node: '^20.19.0 || ^22.12.0 || >=23' },
npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
npm WARN EBADENGINE }

up to date in 1s

73 packages are looking for funding
  run `npm fund` for details

changed 1 package in 4s

271 packages are looking for funding
  run `npm fund` for details

> datacommons.org@1.0.0 test
> wireit

Analyzing
  0% [0 / 3] [2 running] ../packages/web-components:build
 33% [1 / 3] [1 running] ../packages/client:build
 67% [2 / 3] [1 running] test
PASS js/import_wizard2/utils/obs_generation.test.tsx (16.662 s)
  ✓ GenerateRowObservations_SingleValueColumn (7 ms)
  ✓ GenerateRowObservations_SingleValueColumn_UnitInColumn (2 ms)
  ✓ GenerateRowObservations_SingleValueColumn_ValueMap (2 ms)
  ✓ GenerateRowObservations_DateValuesInHeader (13 ms)
  ✓ GenerateRowObservations_DateValuesInHeader_ValueMap (45 ms)
  ✓ GenerateRowObservations_DateValuesInHeader_UnitsInColumns (2 ms)

PASS js/import_wizard/utils/detect_place.test.tsx (17.113 s)
  ✓ placeTypesAndProperties (16 ms)
  ✓ supportedPlaceTypeProperties (5 ms)
  ✓ placeDetectionKeys (1 ms)
  ✓ countries (9 ms)
  ✓ States (6 ms)
  ✓ placeLowConfidenceDetection (9 ms)
  ✓ detectionLowConf (4 ms)
  ✓ countryHighConf (8 ms)
  ✓ stateHighConf (3 ms)
  ✓ placeDetection (33 ms)
  ✓ countryNumericVsStateFIPS (2 ms)

PASS js/import_wizard/utils/obs_generation.test.tsx
  ✓ GenerateRowObservations_SingleValueColumn (7 ms)
  ✓ GenerateRowObservations_SingleValueColumn_UnitInColumn (1 ms)
  ✓ GenerateRowObservations_SingleValueColumn_ValueMap (1 ms)
  ✓ GenerateRowObservations_DateValuesInHeader (1 ms)
  ✓ GenerateRowObservations_DateValuesInHeader_ValueMap (2 ms)
  ✓ GenerateRowObservations_DateValuesInHeader_UnitsInColumns (1 ms)

PASS js/import_wizard2/utils/file_generation.test.ts
  ✓ generateTranslationMetadataJson (5 ms)
  ✓ shouldGenerateCsv (3 ms)
  ✓ generateCsvNoValueMap (71 ms)
  ✓ generateCsvWithValueMap (6 ms)
  ✓ generateCsvDiffHeaderAndDataRows (2 ms)

PASS js/import_wizard/utils/heuristics.test.tsx
  ✓ countryDetection (15 ms)
  ✓ countryDetection-twocolumns (17 ms)
  ✓ countryDetectionOrder (7 ms)
  ✓ dateDetection-headers (2 ms)
  ✓ dateDetection-columns (2 ms)
  ✓ dateDetection-headers-columns (3 ms)
  ✓ comboDetection-date-and-place (3 ms)

PASS js/utils/tests/disaster_event_map_utils.test.ts (19.545 s)
  ✓ fetch date list for all disasters (109 ms)
  ✓ fetch date list for single disaster multiple event types (31 ms)
  ✓ fetch date list for single eventType (73 ms)
  ✓ fetch data for single disaster multiple events with date as YYYY-MM (31 ms)
  ✓ fetch data for single disaster multiple events with date as YYYY (26 ms)
  ✓ fetch data for single event with date as YYYY-MM (41 ms)
  ✓ fetch data for single event with date as YYYY (79 ms)
  ✓ getMapPointsData (1 ms)

  console.error
    ModuleNotFoundError: Cannot find module '../i18n/compiled-lang/en/stats_var_labels.json' from 'js/tools/timeline/data_fetcher.test.ts'
        at Resolver._throwModNotFoundError (/workspace/static/node_modules/jest-resolve/build/resolver.js:491:11)
        at Resolver.resolveModule (/workspace/static/node_modules/jest-resolve/build/resolver.js:413:10)
        at Resolver._getVirtualMockPath (/workspace/static/node_modules/jest-resolve/build/resolver.js:733:14)
        at Resolver._getAbsolutePath (/workspace/static/node_modules/jest-resolve/build/resolver.js:690:14)
        at Resolver.getModuleID (/workspace/static/node_modules/jest-resolve/build/resolver.js:617:31)
        at Runtime._shouldMockCjs (/workspace/static/node_modules/jest-runtime/build/index.js:1984:37)
        at Runtime.requireModuleOrMock (/workspace/static/node_modules/jest-runtime/build/index.js:1242:14)
        at /workspace/static/js/tools/timeline/data_fetcher.test.ts:251:51
        at processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Promise.all (index 0) {
      code: 'MODULE_NOT_FOUND',
      hint: '',
      requireStack: undefined,
      siblingWithSimilarExtensionFound: false,
      moduleName: '../i18n/compiled-lang/en/stats_var_labels.json',
      _originalMessage: "Cannot find module '../i18n/compiled-lang/en/stats_var_labels.json' from 'js/tools/timeline/data_fetcher.test.ts'"
    }

      60 |     })
      61 |     .catch((err) => {
    > 62 |       console.error(err);
         |               ^
      63 |       intl = createIntl({ locale, messages: {} }, intlCache);
      64 |     });
      65 | }

      at js/i18n/i18n.tsx:62:15

PASS js/tools/timeline/data_fetcher.test.ts (20.135 s)
  ✓ fetch raw data (63 ms)
  ✓ get stats data with state code (2 ms)
  ✓ get stats data where latest date with data for all stat vars is not the latest date (2 ms)
  ✓ get stats data where there is no date with data for all stat vars (2 ms)
  ✓ get stats data with per capita with population size 0 (2 ms)
  ✓ get stats data with Per capita with specified denominators (2 ms)
  ✓ get stats data with per capita with specified denominators - missing place data (2 ms)
  ✓ get stat data with specified source (13 ms)
  ✓ StatsData test (23 ms)
  ✓ transform from models - multiple places (3 ms)
  ✓ transform from models - multiple obs periods (2 ms)

PASS js/import_wizard2/utils/detection.test.tsx
  ✓ jsonParsingPlaceDateColumns (53 ms)
  ✓ jsonParsingPlaceDateHeaders (16 ms)
  ✓ jsonParsingPlaceSkippedDateCorrect (1 ms)
  ✓ jsonParsingPlaceCorrectDateSkipped (10 ms)
  ✓ jsonParsingAllSkipped
  ✓ jsonParsingColumnIncorrect (2 ms)
  ✓ jsonParsingPropIncorrect (1 ms)
  ✓ jsonParsingTypeIncorrect
  ✓ jsonParsingSupportedTypePropertiesAllSkipped (1 ms)
  ✓ jsonParsingSupportedTypePropertiesCorrect (1 ms)

PASS js/import_wizard/utils/tmcf_generation.test.tsx
  ✓ SingleNodeTMCF (5 ms)
  ✓ MultiNodeTMCF_DateValueInHeader (1 ms)
  ✓ MultiNodeTMCF_PlaceValueInHeader (1 ms)
  ✓ MultiNodeTMCF_PlaceValueInHeader_DiffPlaceTypes (1 ms)
  ✓ SingleNodeTMCFWithUnitColumnConstant (1 ms)
  ✓ MultiNodeTMCF_UnitAsSomeColumnConstants (1 ms)

PASS js/apps/visualization/redirect_utils.test.ts
  redirect_utils
    getStandardizedToolUrl
      ✓ should return correct url for landing page should redirect to map tool (12 ms)
      ✓ should return correct url for empty hash should redirect to map tool (18 ms)
      ✓ should return correct url for map landing page should redirect to map tool (3 ms)
      ✓ should return correct url for when redirecting to the map tool, ignore invalid hash parameters (13 ms)
      ✓ should return correct url for map chart with place, place type, and variable (11 ms)
      ✓ should return correct url for map chart with place, place type, variable, and per capita is on (34 ms)
      ✓ should return correct url for unencoded map chart with place, place type, variable, and per capita (6 ms)
      ✓ should return correct url for scatter landing page should redirect to scatter tool (10 ms)
      ✓ should return correct url for when redirecting to the scatter tool, ignore invalid hash parameters (6 ms)
      ✓ should return correct url for scatter chart with place, place type, and 2 variables, with per capita on Y axis (17 ms)
      ✓ should return correct url for scatter chart with place, place type, and 2 variables, with per capita on both axes (6 ms)
      ✓ should return correct url for scatter chart with log scale, quadrants, and labels on (12 ms)
      ✓ should return correct url for unencoded scatter chart with log scale, quadrants, and labels on (6 ms)
      ✓ should return correct url for timeline landing page should redirect to timeline tool (6 ms)
      ✓ should return correct url for when redirecting to the timeline tool, ignore invalid hash parameters (3 ms)
      ✓ should return correct url
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/cloud-build/builds/1460ff8f-2b3c-46a8-b190-701908c05b77?project=879489846695.]
...
      at StatVarHierarchy.componentDidMount (js/stat_var_hierarchy/stat_var_hierarchy.tsx:128:10)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20663:24)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:23426:7)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at /workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
        at Array.map (<anonymous>)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
        at StatVarHierarchy.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
          at Array.map (<anonymous>)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
      at StatVarHierarchy.componentDidUpdate (js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at StatVarHierarchy.getPath (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
        at StatVarHierarchy.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)
        at commitLayoutEffects (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:23426:7)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at StatVarHierarchy.getPath (js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
      at StatVarHierarchy.componentDidUpdate (js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:23426:7)

PASS js/import_wizard/utils/detect_date.test.tsx
  ✓ dateDetectionBasics (3 ms)
  ✓ dateHeaderDetectionBasics (2 ms)
  ✓ dateColumnDetection (1 ms)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at /workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
        at Array.map (<anonymous>)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
        at StatVarHierarchy.componentDidMount (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:128:10)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20663:24)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
          at Array.map (<anonymous>)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
      at StatVarHierarchy.componentDidMount (js/stat_var_hierarchy/stat_var_hierarchy.tsx:128:10)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20663:24)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at StatVarHierarchy.getPath (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
        at StatVarHierarchy.componentDidMount (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:128:10)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20663:24)
        at commitLayoutEffects (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:23426:7)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at StatVarHierarchy.getPath (js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
      at StatVarHierarchy.componentDidMount (js/stat_var_hierarchy/stat_var_hierarchy.tsx:128:10)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20663:24)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:23426:7)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at /workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
        at Array.map (<anonymous>)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
        at StatVarHierarchy.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
          at Array.map (<anonymous>)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
      at StatVarHierarchy.componentDidUpdate (js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at StatVarHierarchy.getPath (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
        at StatVarHierarchy.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)
        at commitLayoutEffects (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:23426:7)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at StatVarHierarchy.getPath (js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
      at StatVarHierarchy.componentDidUpdate (js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:23426:7)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at /workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
        at Array.map (<anonymous>)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
        at StatVarHierarchy.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
          at Array.map (<anonymous>)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
      at StatVarHierarchy.componentDidUpdate (js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at StatVarHierarchy.getPath (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
        at StatVarHierarchy.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)
        at commitLayoutEffects (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:23426:7)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at StatVarHierarchy.getPath (js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
      at StatVarHierarchy.componentDidUpdate (js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:23426:7)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at /workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
        at Array.map (<anonymous>)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
        at StatVarHierarchy.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at js/stat_var_hierarchy/stat_var_hierarchy.tsx:287:46
          at Array.map (<anonymous>)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:279:39)
      at StatVarHierarchy.componentDidUpdate (js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at StatVarHierarchy.getPath (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
        at StatVarHierarchy.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
        at StatVarHierarchy.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)
        at commitLayoutEffects (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:23426:7)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at StatVarHierarchy.getPath (js/stat_var_hierarchy/stat_var_hierarchy.tsx:436:42)
      at StatVarHierarchy.fetchData (js/stat_var_hierarchy/stat_var_hierarchy.tsx:307:18)
      at StatVarHierarchy.componentDidUpdate (js/stat_var_hierarchy/stat_var_hierarchy.tsx:139:12)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:23426:7)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getUrlWithSearchParamsToPropagate (/workspace/static/js/utils/url_utils.ts:333:47)
        at StatVarGroupNode.fetchData (/workspace/static/js/stat_var_hierarchy/stat_var_group_node.tsx:307:42)
        at StatVarGroupNode.fetchDataIfNecessary (/workspace/static/js/stat_var_hierarchy/stat_var_group_node.tsx:162:12)
        at StatVarGroupNode.componentDidUpdate (/workspace/static/js/stat_var_hierarchy/stat_var_group_node.tsx:147:10)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20684:24)
        at commitLayoutEffects (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:23426:7)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getUrlWithSearchParamsToPropagate (js/utils/url_utils.ts:333:47)
      at StatVarGroupNode.fetchData (js/stat_var_hierarchy/stat_var_group_node.tsx:307:42)
      at StatVarGroupNode.fetchDataIfNecessary (js/stat_var_hierarchy/stat_var_group_node.tsx:162:12)
      at StatVarGroupNode.componentDidUpdate (js/stat_var_hierarchy/stat_var_group_node.tsx:147:10)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20684:24)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:23426:7)

  console.error
    Invalid URL provided: TypeError: Invalid URL: undefined
        at new URLImpl (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL-impl.js:21:13)
        at Object.exports.setup (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:54:12)
        at new URL (/workspace/static/node_modules/jest-environment-jsdom/node_modules/whatwg-url/lib/URL.js:115:22)
        at extractFlagsToPropagate (/workspace/static/js/shared/util.ts:312:23)
        at getStatVarInfo (/workspace/static/js/shared/util.ts:362:17)
        at StatVarSection.fetchSummary (/workspace/static/js/stat_var_hierarchy/stat_var_section.tsx:148:19)
        at StatVarSection.componentDidMount (/workspace/static/js/stat_var_hierarchy/stat_var_section.tsx:65:10)
        at commitLifeCycles (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:20663:24)
        at commitLayoutEffects (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:23426:7)
        at HTMLUnknownElement.callCallback (/workspace/static/node_modules/react-dom/cjs/react-dom.development.js:3945:14)

      320 |     return searchParams;
      321 |   } catch (error) {
    > 322 |     console.error("Invalid URL provided:", error);
          |             ^
      323 |     return new URLSearchParams();
      324 |   }
      325 | }

      at extractFlagsToPropagate (js/shared/util.ts:322:13)
      at getStatVarInfo (js/shared/util.ts:362:17)
      at StatVarSection.fetchSummary (js/stat_var_hierarchy/stat_var_section.tsx:148:19)
      at StatVarSection.componentDidMount (js/stat_var_hierarchy/stat_var_section.tsx:65:10)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:20663:24)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:23426:7)
      at HTMLUnknownElement.callCallback (node_modules/react-dom/cjs/react-dom.development.js:3945:14)

PASS js/tools/timeline/page.test.tsx (16.069 s)
  ✓ Single place and single stat var (1067 ms)
  ✓ statVar not in PV-tree (198 ms)
  ✓ chart options (453 ms)

PASS js/utils/tests/string_utils.test.ts
  ✓ get common prefix (6 ms)
  ✓ formatDate (3 ms)
  ✓ is valid date (2 ms)

PASS js/i18n/i18n.periodicity.test.ts
  ✓ humanizeIsoDuration with English defaults (23 ms)

PASS js/tools/stat_var/dataset_selector.test.tsx
  DatasetSelector
    ✓ renders the component with initial props (23 ms)
    ✓ calls updateHash when a new source is selected (6 ms)
    ✓ calls updateHash when a new dataset is selected (9 ms)

PASS js/utils/tests/app/disaster_dashboard_utils.test.ts
  ✓ getFilteredParentPlaces (5 ms)

PASS js/tools/shared/metadata/tile_metadata_modal.test.tsx
  TileMetadataModal - error path
    ✓ shows error message and hides copy citation when metadata fetch fails (173 ms)

PASS js/stat_var_hierarchy/stat_var_section.test.tsx
  ✓ getPrefix (11 ms)

PASS js/import_wizard/utils/file_processing.test.ts
  ✓ processValueMapFile (7 ms)

  console.error
    Error: Not implemented: navigation (except hash changes)
        at module.exports (/workspace/static/node_modules/jest-environment-jsdom/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
        at navigateFetch (/workspace/static/node_modules/jest-environment-jsdom/node_modules/jsdom/lib/jsdom/living/window/navigation.js:77:3)
        at exports.navigate (/workspace/static/node_modules/jest-environment-jsdom/node_modules/jsdom/lib/jsdom/living/window/navigation.js:55:3)
        at Timeout._onTimeout (/workspace/static/node_modules/jest-environment-jsdom/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js:81:7)
        at listOnTimeout (node:internal/timers:564:17)
        at processTimers (node:internal/timers:507:7) {
      type: 'not implemented'
    }

      at VirtualConsole.<anonymous> (node_modules/jest-environment-jsdom/build/index.js:70:23)

PASS js/utils/tests/stat_metadata_utils.test.ts
  ✓ getUnit (4 ms)

  console.error
    Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
        at Dialog (/workspace/static/js/components/elements/dialog/dialog.tsx:292:3)
        at FacetSelectorModal (/workspace/static/js/shared/facet_selector/facet_selector.tsx:352:5)
        at FacetSelector (/workspace/static/js/shared/facet_selector/facet_selector.tsx:174:5)
        at div
        at /workspace/static/node_modules/@emotion/react/dist/emotion-element-832b737b.browser.cjs.js:71:23
        at ToolChartHeader (/workspace/static/js/tools/shared/vis_tools/tool_chart_header.tsx:70:26)
        at ThemeProvider (/workspace/static/node_modules/@emotion/react/dist/emotion-element-832b737b.browser.cjs.js:111:32)

      361 |         if (fadeOutDuration > 0) {
      362 |           closeTimeoutRef.current = window.setTimeout(() => {
    > 363 |             setIsClosing(false);
          |             ^
      364 |             closeTimeoutRef.current = null;
      365 |           }, fadeOutDuration);
      366 |         } else {

      at printWarning (node_modules/react-dom/cjs/react-dom.development.js:67:30)
      at error (node_modules/react-dom/cjs/react-dom.development.js:43:5)
      at warnAboutUpdateOnUnmountedFiberInDEV (node_modules/react-dom/cjs/react-dom.development.js:23914:9)
      at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:21840:5)
      at dispatchAction (node_modules/react-dom/cjs/react-dom.development.js:16139:5)
      at js/components/elements/dialog/dialog.tsx:363:13

PASS nodejs_server/tiles/utils.test.ts
  ✓ compress and decompress chart props (7 ms)

PASS js/chart/draw.test.ts
  ✓ svg test (22 ms)
  ✓ get dashes (2 ms)

PASS js/tools/scatter/app.test.tsx (41.051 s)
  ✓ all functionalities (2416 ms)

PASS js/shared/ga_events.test.tsx (41.122 s)
  test ga event tool chart plot
    ✓ call gtag when a map tool chart is mounted or updated with different stat vars or places (150 ms)
    ✓ call gtag when a timeline tool chart is mounted or updated with different stat vars or places  (105 ms)
    ✓ call gtag when a scatter tool chart is mounted or updated with different stat vars or places  (178 ms)
  test ga event tool stat var click
    ✓ call gtag when a stat var is selected in the stat var hierarchy (254 ms)
  test ga event tool place add
    ✓ call gtag when a place is added in the place search bar (23 ms)
  test ga event tool stat var search no result
    ✓ call gtag when no result is shown to search term in stat var hierarchy (311 ms)
  test ga event tool chart plot option
    ✓ call gtag when timeline tool chart option is clicked (30 ms)
    ✓ call gtag when scatter tool chart option is clicked (65 ms)
    ✓ call gtag when map tool chart option is clicked (39 ms)
  test ga event for the FacetSelector component
    ✓ triggers GA event when FacetSelector's update button is clicked (136 ms)
  test ga event for Related Topics experiment
    ✓ triggers GA event when FollowUpQuestion URL is clicked (113 ms)
    ✓ triggers GA event when Header Related Topics URL is clicked (26 ms)
    ✓ triggers GA event when FollowUpQuestion component is viewed (124 ms)
    ✓ triggers GA event when Header RelatedTopics component is viewed (15 ms)
    ✓ triggers GA event when Follow Up Questions component renders questions (24 ms)
  test ga event for Page Overview experiment
    ✓ triggers GA event when Page Overview component is rendered (10 ms)
    ✓ triggers GA event when Page Overview component is initially viewed (35 ms)
    ✓ triggers GA event when Page Overview is viewed twice (26 ms)
    ✓ triggers GA event before unload, recording the view time of Page Overview (37 ms)
    ✓ triggers GA event when Page Overview link is clicked (27 ms)
    ✓ triggers GA event when Page Overview link is clicked twice (49 ms)
    ✓ triggers GA event when Page Overview loads counting anchor elements (26 ms)

PASS nodejs_server/query.test.ts (41.277 s)
  ✓ getQueryResult (78 ms)
  ✓ getQueryResult with surface (33 ms)

PASS js/browser/types.test.ts
  ✓ getPageDisplayType (4 ms)

PASS js/utils/tests/subject_page_utils.test.ts
  ✓ get relLink (4 ms)

PASS js/utils/tests/place_utils.test.ts
  ✓ get place names (32 ms)

PASS js/utils/tests/axios.test.ts
  ✓ stringfy url params (4 ms)

PASS js/browser/out_arc_section.test.tsx
  test shouldIgnoreProperty
    ✓ should return "provenance" for true (2 ms)
    ✓ should return "kmlCoordinates" for true (1 ms)
    ✓ should return "firePerimeter" for true
    ✓ should return "geoJsonCoordinates" for true (1 ms)
    ✓ should return "geoJsonCoordinatesDP1" for true
    ✓ should return "geoJsonCoordinatesDP3" for true
    ✓ should return "geoJsonCoordinatesUN" for true
    ✓ should return "geoJsonCoordinatesIndia" for true
    ✓ should return "name" for false
    ✓ should return "typeOf" for false (1 ms)
    ✓ should return "description" for false
    ✓ should return "dcid" for false (1 ms)

PASS js/import_wizard2/templates.test.tsx
  ✓ all templates options should have mapping sections (2 ms)

Test Suites: 55 passed, 55 total
Tests:       298 passed, 298 total
Snapshots:   8 passed, 8 total
Time:        44.907 s
Ran all test suites.
✅ Ran 3 scripts and skipped 0 in 56.7s.
PUSH
DONE

Build Log: https://console.cloud.google.com/cloud-build/builds/1460ff8f-2b3c-46a8-b190-701908c05b77?project=879489846695