From 3049973c9c9a7589c173f509d6591ee126727a86 Mon Sep 17 00:00:00 2001
From: chrisj-er <“chrisj@earthranger.com”>
Date: Fri, 4 Apr 2025 13:05:25 -0700
Subject: [PATCH] fake change
---
README.md | 242 ++++++++++++++++++++++++++++++++----------------------
1 file changed, 144 insertions(+), 98 deletions(-)
diff --git a/README.md b/README.md
index d51244473..102ab19a2 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ This repository is open-sourced under the Apache 2.0 license. However, Mapbox GL
-------------------
## Setting up for development
-To start developing within this repo, you need to have [Docker](https://www.docker.com/get-started), [Node](https://nodejs.org/), and [Yarn](https://yarnpkg.com/) installed. Once docker is up and running, `cd` into the root of this project repository and run the following command: `docker compose up --build`.
+To start developing within this repo, you need to have [Docker](https://www.docker.com/get-started), [Node](https://nodejs.org/), and [Yarn](https://yarnpkg.com/) installed. Once docker is up and running, `cd` into the root of this project repository and run the following command: `docker compose up --build`.
This will build three images: one is the developer build of the application, one is an nginx instance serving that application up, and one is running the test environment. Once up and running, you may view the web application at http://localhost:9000/. It will auto-refresh in sync with your local changes as you edit the code. New tests, or tests related to any changed files during your development, will auto-run on every save.
@@ -28,103 +28,149 @@ You can find the most recent version of this guide [here](https://github.com/fac
## Table of Contents
-- [Updating to New Releases](#updating-to-new-releases)
-- [Sending Feedback](#sending-feedback)
-- [Folder Structure](#folder-structure)
-- [Available Scripts](#available-scripts)
- - [npm start](#npm-start)
- - [npm test](#npm-test)
- - [npm run build](#npm-run-build)
- - [npm run eject](#npm-run-eject)
-- [Supported Browsers](#supported-browsers)
-- [Supported Language Features and Polyfills](#supported-language-features-and-polyfills)
-- [Syntax Highlighting in the Editor](#syntax-highlighting-in-the-editor)
-- [Displaying Lint Output in the Editor](#displaying-lint-output-in-the-editor)
-- [Debugging in the Editor](#debugging-in-the-editor)
-- [Formatting Code Automatically](#formatting-code-automatically)
-- [Changing the Page `
`](#changing-the-page-title)
-- [Installing a Dependency](#installing-a-dependency)
-- [Importing a Component](#importing-a-component)
-- [Code Splitting](#code-splitting)
-- [Adding a Stylesheet](#adding-a-stylesheet)
-- [Post-Processing CSS](#post-processing-css)
-- [Adding a CSS Preprocessor (Sass, Less etc.)](#adding-a-css-preprocessor-sass-less-etc)
-- [Adding Images, Fonts, and Files](#adding-images-fonts-and-files)
-- [Using the `public` Folder](#using-the-public-folder)
- - [Changing the HTML](#changing-the-html)
- - [Adding Assets Outside of the Module System](#adding-assets-outside-of-the-module-system)
- - [When to Use the `public` Folder](#when-to-use-the-public-folder)
-- [Using Global Variables](#using-global-variables)
-- [Adding Bootstrap](#adding-bootstrap)
- - [Using a Custom Theme](#using-a-custom-theme)
-- [Adding Flow](#adding-flow)
-- [Adding a Router](#adding-a-router)
-- [Adding Custom Environment Variables](#adding-custom-environment-variables)
- - [Referencing Environment Variables in the HTML](#referencing-environment-variables-in-the-html)
- - [Adding Temporary Environment Variables In Your Shell](#adding-temporary-environment-variables-in-your-shell)
- - [Adding Development Environment Variables In `.env`](#adding-development-environment-variables-in-env)
-- [Can I Use Decorators?](#can-i-use-decorators)
-- [Fetching Data with AJAX Requests](#fetching-data-with-ajax-requests)
-- [Integrating with an API Backend](#integrating-with-an-api-backend)
- - [Node](#node)
- - [Ruby on Rails](#ruby-on-rails)
-- [Proxying API Requests in Development](#proxying-api-requests-in-development)
- - ["Invalid Host Header" Errors After Configuring Proxy](#invalid-host-header-errors-after-configuring-proxy)
- - [Configuring the Proxy Manually](#configuring-the-proxy-manually)
- - [Configuring a WebSocket Proxy](#configuring-a-websocket-proxy)
-- [Using HTTPS in Development](#using-https-in-development)
-- [Generating Dynamic `` Tags on the Server](#generating-dynamic-meta-tags-on-the-server)
-- [Pre-Rendering into Static HTML Files](#pre-rendering-into-static-html-files)
-- [Injecting Data from the Server into the Page](#injecting-data-from-the-server-into-the-page)
-- [Running Tests](#running-tests)
- - [Filename Conventions](#filename-conventions)
- - [Command Line Interface](#command-line-interface)
- - [Version Control Integration](#version-control-integration)
- - [Writing Tests](#writing-tests)
- - [Testing Components](#testing-components)
- - [Using Third Party Assertion Libraries](#using-third-party-assertion-libraries)
- - [Initializing Test Environment](#initializing-test-environment)
- - [Focusing and Excluding Tests](#focusing-and-excluding-tests)
- - [Coverage Reporting](#coverage-reporting)
- - [Continuous Integration](#continuous-integration)
- - [Disabling jsdom](#disabling-jsdom)
- - [Snapshot Testing](#snapshot-testing)
- - [Editor Integration](#editor-integration)
-- [Debugging Tests](#debugging-tests)
- - [Debugging Tests in Chrome](#debugging-tests-in-chrome)
- - [Debugging Tests in Visual Studio Code](#debugging-tests-in-visual-studio-code)
-- [Developing Components in Isolation](#developing-components-in-isolation)
- - [Getting Started with Storybook](#getting-started-with-storybook)
- - [Getting Started with Styleguidist](#getting-started-with-styleguidist)
-- [Publishing Components to npm](#publishing-components-to-npm)
-- [Making a Progressive Web App](#making-a-progressive-web-app)
- - [Opting Out of Caching](#opting-out-of-caching)
- - [Offline-First Considerations](#offline-first-considerations)
- - [Progressive Web App Metadata](#progressive-web-app-metadata)
-- [Analyzing the Bundle Size](#analyzing-the-bundle-size)
-- [Deployment](#deployment)
- - [Static Server](#static-server)
- - [Other Solutions](#other-solutions)
- - [Serving Apps with Client-Side Routing](#serving-apps-with-client-side-routing)
- - [Building for Relative Paths](#building-for-relative-paths)
- - [Azure](#azure)
- - [Firebase](#firebase)
- - [GitHub Pages](#github-pages)
- - [Heroku](#heroku)
- - [Netlify](#netlify)
- - [Now](#now)
- - [S3 and CloudFront](#s3-and-cloudfront)
- - [Surge](#surge)
-- [Advanced Configuration](#advanced-configuration)
-- [Troubleshooting](#troubleshooting)
- - [`npm start` doesn’t detect changes](#npm-start-doesnt-detect-changes)
- - [`npm test` hangs on macOS Sierra](#npm-test-hangs-on-macos-sierra)
- - [`npm run build` exits too early](#npm-run-build-exits-too-early)
- - [`npm run build` fails on Heroku](#npm-run-build-fails-on-heroku)
- - [`npm run build` fails to minify](#npm-run-build-fails-to-minify)
- - [Moment.js locales are missing](#momentjs-locales-are-missing)
-- [Alternatives to Ejecting](#alternatives-to-ejecting)
-- [Something Missing?](#something-missing)
+- [EarthRanger Web](#earthranger-web)
+ - [Licensing](#licensing)
+ - [Setting up for development](#setting-up-for-development)
+ - [Linting](#linting)
+ - [Testing](#testing)
+ - [Table of Contents](#table-of-contents)
+ - [Updating to New Releases](#updating-to-new-releases)
+ - [Sending Feedback](#sending-feedback)
+ - [Folder Structure](#folder-structure)
+ - [Available Scripts](#available-scripts)
+ - [`npm start`](#npm-start)
+ - [`npm test`](#npm-test)
+ - [`npm run build`](#npm-run-build)
+ - [`npm run eject`](#npm-run-eject)
+ - [Supported Browsers](#supported-browsers)
+ - [Supported Language Features and Polyfills](#supported-language-features-and-polyfills)
+ - [Syntax Highlighting in the Editor](#syntax-highlighting-in-the-editor)
+ - [Displaying Lint Output in the Editor](#displaying-lint-output-in-the-editor)
+ - [Debugging in the Editor](#debugging-in-the-editor)
+ - [Visual Studio Code](#visual-studio-code)
+ - [WebStorm](#webstorm)
+ - [Formatting Code Automatically](#formatting-code-automatically)
+ - [Changing the Page ``](#changing-the-page-title)
+ - [Installing a Dependency](#installing-a-dependency)
+ - [Importing a Component](#importing-a-component)
+ - [`Button.js`](#buttonjs)
+ - [`DangerButton.js`](#dangerbuttonjs)
+ - [Code Splitting](#code-splitting)
+ - [`moduleA.js`](#moduleajs)
+ - [`App.js`](#appjs)
+ - [With React Router](#with-react-router)
+ - [Adding a Stylesheet](#adding-a-stylesheet)
+ - [`Button.css`](#buttoncss)
+ - [`Button.js`](#buttonjs-1)
+ - [Post-Processing CSS](#post-processing-css)
+ - [Adding a CSS Preprocessor (Sass, Less etc.)](#adding-a-css-preprocessor-sass-less-etc)
+ - [Adding Images, Fonts, and Files](#adding-images-fonts-and-files)
+ - [Using the `public` Folder](#using-the-public-folder)
+ - [Changing the HTML](#changing-the-html)
+ - [Adding Assets Outside of the Module System](#adding-assets-outside-of-the-module-system)
+ - [When to Use the `public` Folder](#when-to-use-the-public-folder)
+ - [Using Global Variables](#using-global-variables)
+ - [Adding Bootstrap](#adding-bootstrap)
+ - [Using a Custom Theme](#using-a-custom-theme)
+ - [Adding Flow](#adding-flow)
+ - [Adding a Router](#adding-a-router)
+ - [Adding Custom Environment Variables](#adding-custom-environment-variables)
+ - [Referencing Environment Variables in the HTML](#referencing-environment-variables-in-the-html)
+ - [Adding Temporary Environment Variables In Your Shell](#adding-temporary-environment-variables-in-your-shell)
+ - [Windows (cmd.exe)](#windows-cmdexe)
+ - [Windows (Powershell)](#windows-powershell)
+ - [Linux, macOS (Bash)](#linux-macos-bash)
+ - [Adding Development Environment Variables In `.env`](#adding-development-environment-variables-in-env)
+ - [What other `.env` files can be used?](#what-other-env-files-can-be-used)
+ - [Expanding Environment Variables In `.env`](#expanding-environment-variables-in-env)
+ - [Can I Use Decorators?](#can-i-use-decorators)
+ - [Fetching Data with AJAX Requests](#fetching-data-with-ajax-requests)
+ - [Integrating with an API Backend](#integrating-with-an-api-backend)
+ - [Node](#node)
+ - [Ruby on Rails](#ruby-on-rails)
+ - [Proxying API Requests in Development](#proxying-api-requests-in-development)
+ - ["Invalid Host Header" Errors After Configuring Proxy](#invalid-host-header-errors-after-configuring-proxy)
+ - [Configuring the Proxy Manually](#configuring-the-proxy-manually)
+ - [Configuring a WebSocket Proxy](#configuring-a-websocket-proxy)
+ - [Using HTTPS in Development](#using-https-in-development)
+ - [Windows (cmd.exe)](#windows-cmdexe-1)
+ - [Windows (Powershell)](#windows-powershell-1)
+ - [Linux, macOS (Bash)](#linux-macos-bash-1)
+ - [Generating Dynamic `` Tags on the Server](#generating-dynamic-meta-tags-on-the-server)
+ - [Pre-Rendering into Static HTML Files](#pre-rendering-into-static-html-files)
+ - [Injecting Data from the Server into the Page](#injecting-data-from-the-server-into-the-page)
+ - [Running Tests](#running-tests)
+ - [Filename Conventions](#filename-conventions)
+ - [Command Line Interface](#command-line-interface)
+ - [Version Control Integration](#version-control-integration)
+ - [Writing Tests](#writing-tests)
+ - [Testing Components](#testing-components)
+ - [`src/setupTests.js`](#srcsetuptestsjs)
+ - [Use `react-testing-library`](#use-react-testing-library)
+ - [Using Third Party Assertion Libraries](#using-third-party-assertion-libraries)
+ - [Initializing Test Environment](#initializing-test-environment)
+ - [`src/setupTests.js`](#srcsetuptestsjs-1)
+ - [Focusing and Excluding Tests](#focusing-and-excluding-tests)
+ - [Coverage Reporting](#coverage-reporting)
+ - [Configuration](#configuration)
+ - [Continuous Integration](#continuous-integration)
+ - [On CI servers](#on-ci-servers)
+ - [Travis CI](#travis-ci)
+ - [CircleCI](#circleci)
+ - [On your own environment](#on-your-own-environment)
+ - [Windows (cmd.exe)](#windows-cmdexe-2)
+ - [Windows (Powershell)](#windows-powershell-2)
+ - [Linux, macOS (Bash)](#linux-macos-bash-2)
+ - [Disabling jsdom](#disabling-jsdom)
+ - [Snapshot Testing](#snapshot-testing)
+ - [Editor Integration](#editor-integration)
+ - [Debugging Tests](#debugging-tests)
+ - [Debugging Tests in Chrome](#debugging-tests-in-chrome)
+ - [Debugging Tests in Visual Studio Code](#debugging-tests-in-visual-studio-code)
+ - [Developing Components in Isolation](#developing-components-in-isolation)
+ - [Getting Started with Storybook](#getting-started-with-storybook)
+ - [Getting Started with Styleguidist](#getting-started-with-styleguidist)
+ - [Publishing Components to npm](#publishing-components-to-npm)
+ - [Making a Progressive Web App](#making-a-progressive-web-app)
+ - [Opting Out of Caching](#opting-out-of-caching)
+ - [Offline-First Considerations](#offline-first-considerations)
+ - [Progressive Web App Metadata](#progressive-web-app-metadata)
+ - [Analyzing the Bundle Size](#analyzing-the-bundle-size)
+ - [Deployment](#deployment)
+ - [Static Server](#static-server)
+ - [Other Solutions](#other-solutions)
+ - [Serving Apps with Client-Side Routing](#serving-apps-with-client-side-routing)
+ - [Building for Relative Paths](#building-for-relative-paths)
+ - [Serving the Same Build from Different Paths](#serving-the-same-build-from-different-paths)
+ - [Azure](#azure)
+ - [Firebase](#firebase)
+ - [GitHub Pages](#github-pages)
+ - [Step 1: Add `homepage` to `package.json`](#step-1-add-homepage-to-packagejson)
+ - [Step 2: Install `gh-pages` and add `deploy` to `scripts` in `package.json`](#step-2-install-gh-pages-and-add-deploy-to-scripts-in-packagejson)
+ - [Step 3: Deploy the site by running `npm run deploy`](#step-3-deploy-the-site-by-running-npm-run-deploy)
+ - [Step 4: Ensure your project’s settings use `gh-pages`](#step-4-ensure-your-projects-settings-use-gh-pages)
+ - [Step 5: Optionally, configure the domain](#step-5-optionally-configure-the-domain)
+ - [Notes on client-side routing](#notes-on-client-side-routing)
+ - [Troubleshooting](#troubleshooting)
+ - ["/dev/tty: No such a device or address"](#devtty-no-such-a-device-or-address)
+ - [Heroku](#heroku)
+ - [Resolving Heroku Deployment Errors](#resolving-heroku-deployment-errors)
+ - ["Module not found: Error: Cannot resolve 'file' or 'directory'"](#module-not-found-error-cannot-resolve-file-or-directory)
+ - ["Could not find a required file."](#could-not-find-a-required-file)
+ - [Netlify](#netlify)
+ - [Now](#now)
+ - [S3 and CloudFront](#s3-and-cloudfront)
+ - [Surge](#surge)
+ - [Advanced Configuration](#advanced-configuration)
+ - [Troubleshooting](#troubleshooting-1)
+ - [`npm start` doesn’t detect changes](#npm-start-doesnt-detect-changes)
+ - [`npm test` hangs on macOS Sierra](#npm-test-hangs-on-macos-sierra)
+ - [`npm run build` exits too early](#npm-run-build-exits-too-early)
+ - [`npm run build` fails on Heroku](#npm-run-build-fails-on-heroku)
+ - [Moment.js locales are missing](#momentjs-locales-are-missing)
+ - [`npm run build` fails to minify](#npm-run-build-fails-to-minify)
+ - [Alternatives to Ejecting](#alternatives-to-ejecting)
+ - [Something Missing?](#something-missing)
## Updating to New Releases