{"id":39084761,"url":"https://github.com/fedspendingtransparency/usaspending-website","last_synced_at":"2026-01-17T18:36:05.211Z","repository":{"id":37502348,"uuid":"65394770","full_name":"fedspendingtransparency/usaspending-website","owner":"fedspendingtransparency","description":"Web application for U.S. federal spending data","archived":false,"fork":false,"pushed_at":"2026-01-12T20:53:55.000Z","size":207690,"stargazers_count":258,"open_issues_count":4,"forks_count":83,"subscribers_count":41,"default_branch":"master","last_synced_at":"2026-01-12T21:18:18.048Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fedspendingtransparency.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-08-10T15:39:03.000Z","updated_at":"2026-01-01T20:59:01.000Z","dependencies_parsed_at":"2024-01-23T18:45:46.828Z","dependency_job_id":"59c4c353-d10c-4263-b506-c48c4c309c6e","html_url":"https://github.com/fedspendingtransparency/usaspending-website","commit_stats":null,"previous_names":[],"tags_count":94,"template":false,"template_full_name":null,"purl":"pkg:github/fedspendingtransparency/usaspending-website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedspendingtransparency%2Fusaspending-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedspendingtransparency%2Fusaspending-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedspendingtransparency%2Fusaspending-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedspendingtransparency%2Fusaspending-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fedspendingtransparency","download_url":"https://codeload.github.com/fedspendingtransparency/usaspending-website/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedspendingtransparency%2Fusaspending-website/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28516136,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T18:28:00.501Z","status":"ssl_error","status_checked_at":"2026-01-17T18:28:00.150Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T18:36:05.131Z","updated_at":"2026-01-17T18:36:05.201Z","avatar_url":"https://github.com/fedspendingtransparency.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# USAspending Website\n\n[![Pull Request Checks](https://github.com/fedspendingtransparency/usaspending-website/actions/workflows/pull-request-checks.yaml/badge.svg?branch=staging)](https://github.com/fedspendingtransparency/usaspending-website/actions/workflows/pull-request-checks.yaml)\n[![Test Coverage](https://codeclimate.com/github/fedspendingtransparency/usaspending-website/badges/coverage.svg)](https://codeclimate.com/github/fedspendingtransparency/usaspending-website/coverage)\n\n[The USAspending website](https://www.usaspending.gov/) is the public-facing site offering information on Government spending for the United States. It utilizes the [Data Transparency User Interface Library](https://github.com/fedspendingtransparency/data-transparency-ui).\n\n## Storybook Documentation \nhttps://fedspendingtransparency.github.io/usaspending-website/docs/?path=/docs\n\n## Development Set Up\n- To contribute to frontend development, follow _Install and Configure_ below. \n- To simply run the USAspending website locally, jump to _Build and Run with Docker_ below.\n\n_Assumptions_:\n\n* You're able to install software on your machine.\n* You have git installed on your machine and are able to clone code repositories from GitHub. If this isn't the case, the easiest way to get started is to install [GitHub Desktop](https://desktop.github.com/ \"GitHub desktop\"), available for Windows or Mac.\n* You're familiar with opening a terminal on your machine and using the command line as needed.\n\n### Install and Configure\n_Get the code and install the runtime and dependencies_\n\n1. From the command line, clone the USAspending website repository from GitHub to your local machine, and get into the root directory:\n    ```shell\n    $ git clone https://github.com/fedspendingtransparency/usaspending-website\n    $ cd usaspending-website\n    ```\n1. Download [Node Version Manager (`nvm`)](https://github.com/nvm-sh/nvm) and install **Node.js `22.14.0`**\n    ```shell\n    $ nvm install 22.14.0\n    ```\n1. Set Node Package Manager (`npm`) CLI to version `10.8.3`.\n    ```shell\n    $ npm i -g npm@10.8.3\n    ```\n1. Perform an install to get an exact dependency tree:\n    ```shell\n    $ npm ci --legacy-peer-deps\n    ```\n1. Run the site in a local dev server:\n    ```shell\n    $ npm start\n    ```\n\n### Configuration\n_Alter configuration to non-default values by changing environment variable values._\n\nOur site makes use of certain environment variables. Defaults are provided, but can be overridden by `export` of new values in your local shell. These are the important ones:\n\n| ENV VAR           | DEFAULT VALUE (if not set)       | PURPOSE \n|-------------------|----------------------------------|-----------------------------------------------------|\n| `ENV`             | prod                             | Determine bundling optimizations and feature flags  | \n| `USASPENDING_API` | https://api.usaspending.gov/api/ | API URL to get backend data                         |\n| `MAPBOX_TOKEN`    | ''                               | Product key for use of MapBox features              |\n| `GA_TRACKING_ID`  | ''                               | Google Analytics key for anonymously tracking usage |\n\n### Scripts\n_Custom and life-cycle scripts to execute, as defined under the `scripts` property in `package.json`_\n\n| Script       | Output                                                      |\n|--------------|-------------------------------------------------------------|\n| `npm start`  | dev server with hot reloading                               |\n| `npm prod`   | generates static assets w/ production optimization          |\n| `npm dev`    | generates static assets w/ development optimization         |\n| `npm lint`   | executes linter                                             |\n| `npm test`   | executes unit tests                                         |\n| `npm sass`   | dev server w/ scss source maps                              |\n| `npm auditLintTest` | executes auditing, linting, and testing                            |\n| `npm ci`     | clean existing Node dependencies and install dependencies   |\n| `npm run build-storybook`     | builds storybook files                         |\n| `npm run storybook`     | starts storybook server so you can interact with stories   |\n\n### Build and Run with Docker\nDocker can be used to build static site artifacts and/or run the site locally. Ensure your environment variables are configured and use this \"one-liner\" (or decompose and run each `docker` command separately):\n\n```bash\ndocker build -t usaspending-website . \u0026\u0026 \\\ndocker run --rm -v $(pwd)/public:/node-workspace/public \\\n  -e ENV \\\n  -e USASPENDING_API \\\n  -e MAPBOX_TOKEN \\\n  -e GA_TRACKING_ID \\\n  usaspending-website npm run ${ENV} \u0026\u0026 \\\ndocker run --rm -v $(pwd)/public:/usr/share/nginx/html:ro -p 8020:80 nginx:1.18\n```\n\n_The first two steps can take 5+ minutes each, so this could be a total of ~10 minutes before ready._\n\nWhat this does:\n1. Ensure your `usaspending-website` Docker image has the latest dependencies:\n1. Generate and bundle static artifacts and output to `./public`\n1. Mount the static artifacts to a running container of an nginx image and host at port `8020`\n\n\nYou should see console logs, and the app should now be running at `http://localhost:8020`.\n\n### Troubleshooting\nCommon build issues\n1. Webpack cannot be found:\n    `npm i -g webpack`\n1. npm install finishes with vulnerabilities:\n    `npx force-resolutions` then `npm install`\n   If there are still vulnerabilities after this, they may be newly discovered and we may have to update versions of packages, discuss with the team before doing so\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedspendingtransparency%2Fusaspending-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedspendingtransparency%2Fusaspending-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedspendingtransparency%2Fusaspending-website/lists"}