diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 599b9d3c43..931732ea18 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -209,7 +209,7 @@ jobs: uses: actions/upload-artifact@v7 with: name: web-coverage-report - path: ./web/finalCoverage + path: ./web/apps/wps-web/finalCoverage upload-code-coverage: name: Coverage with CodeCov diff --git a/Dockerfile.web b/Dockerfile.web index 3347c4f779..b8852ac648 100644 --- a/Dockerfile.web +++ b/Dockerfile.web @@ -6,20 +6,30 @@ ARG NODE_OPTIONS="--v8-pool-size=4" # PHASE 1 - build frontend. -FROM docker.io/library/node:20-alpine AS static +FROM docker.io/library/node:24-alpine AS static # Switch to root user for package installs USER 0 WORKDIR /app -COPY web/package.json . -COPY web/yarn.lock . -COPY web/.yarnrc.yml . +COPY web/package.json web/yarn.lock web/.yarnrc.yml web/turbo.json ./ + +# Copy package manifests before source for better layer caching +COPY web/packages/tsconfig/package.json packages/tsconfig/ +COPY web/packages/types/package.json packages/types/ +COPY web/packages/utils/package.json packages/utils/ +COPY web/packages/api/package.json packages/api/ +COPY web/packages/ui/package.json packages/ui/ +COPY web/apps/wps-web/package.json apps/wps-web/ + # do install first so it will be cached RUN corepack enable \ - && yarn set version berry \ && CYPRESS_INSTALL_BINARY=0 yarn install --immutable -COPY web . -RUN yarn run build:prod + +# Copy all source +COPY web/packages/ packages/ +COPY web/apps/wps-web/ apps/wps-web/ + +RUN yarn turbo build # PHASE 2 - prepare hosting. FROM docker.io/library/nginx:stable-alpine @@ -28,7 +38,7 @@ FROM docker.io/library/nginx:stable-alpine COPY ./openshift/nginx.conf /etc/nginx/nginx.conf # Copy the static content: -COPY --from=static /app/build . +COPY --from=static /app/apps/wps-web/build . RUN mkdir -p /tmp/nginx/client_temp RUN chmod -R 755 /tmp/nginx diff --git a/web/.dockerignore b/web/.dockerignore index 2938ba3854..546ccb1215 100644 --- a/web/.dockerignore +++ b/web/.dockerignore @@ -1,3 +1,8 @@ **/.gitignore **/node_modules -**/Dockerfile* \ No newline at end of file +**/Dockerfile* +**/build +**/dist +**/.turbo +**/coverage +**/coverage-cypress \ No newline at end of file diff --git a/web/.gitignore b/web/.gitignore index cb55ef7359..849342292f 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -3,9 +3,10 @@ .sentryclirc .pnp.* .yarn/* +.turbo/* !.yarn/patches !.yarn/plugins !.yarn/releases !.yarn/sdks !.yarn/versions -cypress/downloads \ No newline at end of file +apps/wps-web/cypress/downloads \ No newline at end of file diff --git a/web/Dockerfile b/web/Dockerfile deleted file mode 100644 index 133ac0c828..0000000000 --- a/web/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM node:20 - -# Set working directory -WORKDIR /app - -# A wildcard is used to ensure both package.json AND package-lock.json are copied -COPY package*.json ./ - -RUN npm install yarn --no-package-lock && yarn - -# Copy the contents of the project to the image -COPY . . - -EXPOSE 3000 - -CMD ["npm", "start"] \ No newline at end of file diff --git a/web/.env.cypress b/web/apps/wps-web/.env.cypress similarity index 100% rename from web/.env.cypress rename to web/apps/wps-web/.env.cypress diff --git a/web/.env.example b/web/apps/wps-web/.env.example similarity index 100% rename from web/.env.example rename to web/apps/wps-web/.env.example diff --git a/web/apps/wps-web/Dockerfile b/web/apps/wps-web/Dockerfile new file mode 100644 index 0000000000..f1937dbb9e --- /dev/null +++ b/web/apps/wps-web/Dockerfile @@ -0,0 +1,24 @@ +FROM node:24-alpine AS builder +WORKDIR /app + +# Copy workspace config first (better layer caching) +COPY package.json yarn.lock .yarnrc.yml turbo.json ./ + +# Copy package manifests before source (layer cache for yarn install) +COPY packages/tsconfig/package.json packages/tsconfig/ +COPY packages/types/package.json packages/types/ +COPY packages/utils/package.json packages/utils/ +COPY packages/api/package.json packages/api/ +COPY packages/ui/package.json packages/ui/ +COPY apps/wps-web/package.json apps/wps-web/ + +RUN yarn install --immutable + +# Copy all source +COPY packages/ packages/ +COPY apps/wps-web/ apps/wps-web/ + +RUN yarn turbo build + +FROM nginx:alpine +COPY --from=builder /app/apps/wps-web/build /usr/share/nginx/html diff --git a/web/README.md b/web/apps/wps-web/README.md similarity index 76% rename from web/README.md rename to web/apps/wps-web/README.md index 139a638e47..70c43e6385 100644 --- a/web/README.md +++ b/web/apps/wps-web/README.md @@ -10,21 +10,19 @@ Wildfire Predictive Services to support decision making in prevention, preparedn #### [Node.js](https://nodejs.org/en/) -- You’ll need to have Node >= 20.x and yarn on your machine. You can use [nvm](https://github.com/nvm-sh/nvm#installation) (macOS/Linux) or [nvm-windows](https://github.com/coreybutler/nvm-windows#node-version-manager-nvm-for-windows) to switch Node versions between different projects. -- Note: We are using Node 19 as a base image on our pipeline. -- On ubuntu: `sudo apt install nodejs` +- You’ll need to have Node >= 24.x and yarn on your machine. You can use [nvm](https://github.com/nvm-sh/nvm#installation) (macOS/Linux) or [nvm-windows](https://github.com/coreybutler/nvm-windows#node-version-manager-nvm-for-windows) to switch Node versions between different projects. #### [yarn](https://yarnpkg.com/) -- `npm install -g yarn` +- `corepack enable` ### Installing -In the project directory, run: +All commands should be run from the `web/` workspace root, not from this directory. -#### `yarn` +#### `yarn install` -Installs all dependencies in the node_modules folder. +Installs all dependencies for all packages in the monorepo. #### Cypress on WSL2 @@ -33,35 +31,37 @@ It's possible to configure cypress to run with an X-server with WSL2 and Windows The short version is: - Launch VcXsrv (remember to check "Disable access control") -- `yarn run cypress` +- `yarn workspace @wps/wps-web run cy:open` ### Executing program -In the project directory, create `.env` file at root using `.env.example` as a sample, then you can run: +From the `web/` workspace root, create `.env` file in `apps/wps-web/` using `apps/wps-web/.env.example` as a sample, then you can run: -#### `yarn start` +All of the following commands use [Turbo](https://turbo.build/) to orchestrate tasks across the monorepo. + +#### `yarn turbo dev` Runs the app in the development mode. The page will reload if you make edits. You will also see any lint errors in the console. -#### `yarn test` +#### `yarn turbo test` -Launches the jest test runner in the interactive watch mode. +Launches the vitest test runner across all packages. Includes logic only unit tests and [react-testing-library](https://testing-library.com/docs/react-testing-library/intro/) component tests. -#### `yarn cypress` +#### `yarn workspace @wps/wps-web run cy:open` Launches the cypress test runner in the interactive watch mode. Includes end-to-end / integration tests for frontend common path interactions. -#### `yarn run build` +#### `yarn turbo build` -Builds the app for production to the `build` folder. +Builds the app for production to the `apps/wps-web/build` folder. It correctly bundles React in production mode and optimizes the build for the best performance. ##### Running the application in docker: -1. Create `.env` file at root using `.env.example` as a sample +1. Create `.env` file in `apps/wps-web/` using `apps/wps-web/.env.example` as a sample 2. Run `docker compose build` and then `docker compose up` 3. Open [http://localhost:3000](http://localhost:3000) to view it in the browser. diff --git a/web/cypress.config.cjs b/web/apps/wps-web/cypress.config.cjs similarity index 100% rename from web/cypress.config.cjs rename to web/apps/wps-web/cypress.config.cjs diff --git a/web/cypress/e2e/fire-behaviour-advisory-calculator-page.cy.ts b/web/apps/wps-web/cypress/e2e/fire-behaviour-advisory-calculator-page.cy.ts similarity index 99% rename from web/cypress/e2e/fire-behaviour-advisory-calculator-page.cy.ts rename to web/apps/wps-web/cypress/e2e/fire-behaviour-advisory-calculator-page.cy.ts index 80ed6931e9..05b3cd6dea 100644 --- a/web/cypress/e2e/fire-behaviour-advisory-calculator-page.cy.ts +++ b/web/apps/wps-web/cypress/e2e/fire-behaviour-advisory-calculator-page.cy.ts @@ -1,4 +1,4 @@ -import { FIRE_BEHAVIOR_CALC_ROUTE } from '../../src/utils/constants' +import { FIRE_BEHAVIOR_CALC_ROUTE } from '../../../../packages/utils/src/constants' import { FuelTypes } from '../../src/features/fbaCalculator/fuelTypes' describe('FireCalc Page', () => { diff --git a/web/cypress/e2e/hfi-calculator-page.cy.ts b/web/apps/wps-web/cypress/e2e/hfi-calculator-page.cy.ts similarity index 99% rename from web/cypress/e2e/hfi-calculator-page.cy.ts rename to web/apps/wps-web/cypress/e2e/hfi-calculator-page.cy.ts index 7cdeede5b9..dc92bfec99 100644 --- a/web/cypress/e2e/hfi-calculator-page.cy.ts +++ b/web/apps/wps-web/cypress/e2e/hfi-calculator-page.cy.ts @@ -1,4 +1,4 @@ -import { HFI_CALC_ROUTE } from '../../src/utils/constants' +import { HFI_CALC_ROUTE } from '../../../../packages/utils/src/constants' function interceptSelectStationTrue( fire_centre: number, diff --git a/web/cypress/e2e/morecast-2-page.cy.ts b/web/apps/wps-web/cypress/e2e/morecast-2-page.cy.ts similarity index 86% rename from web/cypress/e2e/morecast-2-page.cy.ts rename to web/apps/wps-web/cypress/e2e/morecast-2-page.cy.ts index c38f202344..e503fe8859 100644 --- a/web/cypress/e2e/morecast-2-page.cy.ts +++ b/web/apps/wps-web/cypress/e2e/morecast-2-page.cy.ts @@ -1,4 +1,4 @@ -import { MORE_CAST_2_ROUTE } from '../../src/utils/constants' +import { MORE_CAST_2_ROUTE } from '../../../../packages/utils/src/constants' describe('More Cast 2 Page', () => { beforeEach(() => { diff --git a/web/cypress/e2e/not-found-page.cy.ts b/web/apps/wps-web/cypress/e2e/not-found-page.cy.ts similarity index 100% rename from web/cypress/e2e/not-found-page.cy.ts rename to web/apps/wps-web/cypress/e2e/not-found-page.cy.ts diff --git a/web/cypress/e2e/percentile-calculator-page.cy.ts b/web/apps/wps-web/cypress/e2e/percentile-calculator-page.cy.ts similarity index 96% rename from web/cypress/e2e/percentile-calculator-page.cy.ts rename to web/apps/wps-web/cypress/e2e/percentile-calculator-page.cy.ts index a52ae52247..88dbbaf9f3 100644 --- a/web/cypress/e2e/percentile-calculator-page.cy.ts +++ b/web/apps/wps-web/cypress/e2e/percentile-calculator-page.cy.ts @@ -1,6 +1,6 @@ -import { NOT_AVAILABLE } from '../../src/utils/strings' -import { PERCENTILE_CALC_ROUTE } from '../../src/utils/constants' -import { stationCodeQueryKey } from '../../src/utils/url' +import { NOT_AVAILABLE } from '../../../../packages/utils/src/strings' +import { PERCENTILE_CALC_ROUTE } from '../../../../packages/utils/src/constants' +import { stationCodeQueryKey } from '../../../../packages/utils/src/url' describe('Percentile Calculator Page', () => { describe('Weather station dropdown', () => { diff --git a/web/cypress/fixtures/fba-calc/322.json b/web/apps/wps-web/cypress/fixtures/fba-calc/322.json similarity index 100% rename from web/cypress/fixtures/fba-calc/322.json rename to web/apps/wps-web/cypress/fixtures/fba-calc/322.json diff --git a/web/cypress/fixtures/fba-calc/322_209_response.json b/web/apps/wps-web/cypress/fixtures/fba-calc/322_209_response.json similarity index 100% rename from web/cypress/fixtures/fba-calc/322_209_response.json rename to web/apps/wps-web/cypress/fixtures/fba-calc/322_209_response.json diff --git a/web/cypress/fixtures/fba-calc/328.json b/web/apps/wps-web/cypress/fixtures/fba-calc/328.json similarity index 100% rename from web/cypress/fixtures/fba-calc/328.json rename to web/apps/wps-web/cypress/fixtures/fba-calc/328.json diff --git a/web/cypress/fixtures/fba-calc/export.csv b/web/apps/wps-web/cypress/fixtures/fba-calc/export.csv similarity index 99% rename from web/cypress/fixtures/fba-calc/export.csv rename to web/apps/wps-web/cypress/fixtures/fba-calc/export.csv index 405b31451c..e74222850b 100644 --- a/web/cypress/fixtures/fba-calc/export.csv +++ b/web/apps/wps-web/cypress/fixtures/fba-calc/export.csv @@ -1,3 +1,3 @@ -"Zone","Weather Station","Elevation","FBP Fuel Type","Grass Cure","Status","Temp","RH","Wind Dir","Wind Speed (km/h)","Precip (mm)","FFMC","DMC","DC","ISI","BUI","FWI","HFI","Critical Hours (4000 kW/m)","Critical Hours (10000 kW/m)","ROS (m/min)","Fire Type","CFB (%)","Flame Length (m)","30 min fire size (ha)","60 min fire size (ha)" -"K5","PENTICTON RS (328)","427","O1A","80","ACTUAL","25.9","30","302","7.3","0","91.932","122.665","1002.44","8.156","187.86","33.709","1468.3296228910988","","","13.984091646581893","S","0.0","2.212336338874282","5.1009941188966925","28.273388410171016" +"Zone","Weather Station","Elevation","FBP Fuel Type","Grass Cure","Status","Temp","RH","Wind Dir","Wind Speed (km/h)","Precip (mm)","FFMC","DMC","DC","ISI","BUI","FWI","HFI","Critical Hours (4000 kW/m)","Critical Hours (10000 kW/m)","ROS (m/min)","Fire Type","CFB (%)","Flame Length (m)","30 min fire size (ha)","60 min fire size (ha)" +"K5","PENTICTON RS (328)","427","O1A","80","ACTUAL","25.9","30","302","7.3","0","91.932","122.665","1002.44","8.156","187.86","33.709","1468.3296228910988","","","13.984091646581893","S","0.0","2.212336338874282","5.1009941188966925","28.273388410171016" "K2","AFTON (322)","780","C5","","ACTUAL","20.5","38","310","9.2","0","89.579","90.588","858.106","6.417","143.344","26.922","629.1355440376345","","","0.5728888963554044","S","0.0","1.4481431145178463","0.009328024522166307","0.0522691463588831" \ No newline at end of file diff --git a/web/cypress/fixtures/fba/fire-centers.json b/web/apps/wps-web/cypress/fixtures/fba/fire-centers.json similarity index 100% rename from web/cypress/fixtures/fba/fire-centers.json rename to web/apps/wps-web/cypress/fixtures/fba/fire-centers.json diff --git a/web/cypress/fixtures/hfi-calc/dailies-disable-station.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/dailies-disable-station.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/dailies-disable-station.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/dailies-disable-station.json diff --git a/web/cypress/fixtures/hfi-calc/dailies-high-intensity.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/dailies-high-intensity.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/dailies-high-intensity.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/dailies-high-intensity.json diff --git a/web/cypress/fixtures/hfi-calc/dailies-missing.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/dailies-missing.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/dailies-missing.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/dailies-missing.json diff --git a/web/cypress/fixtures/hfi-calc/dailies-saved.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/dailies-saved.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/dailies-saved.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/dailies-saved.json diff --git a/web/cypress/fixtures/hfi-calc/dailies.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/dailies.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/dailies.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/dailies.json diff --git a/web/cypress/fixtures/hfi-calc/fire-centres-grass.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/fire-centres-grass.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/fire-centres-grass.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/fire-centres-grass.json diff --git a/web/cypress/fixtures/hfi-calc/fire-centres-minimal.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/fire-centres-minimal.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/fire-centres-minimal.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/fire-centres-minimal.json diff --git a/web/cypress/fixtures/hfi-calc/fire_centres.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/fire_centres.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/fire_centres.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/fire_centres.json diff --git a/web/cypress/fixtures/hfi-calc/fuel_types.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/fuel_types.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/fuel_types.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/fuel_types.json diff --git a/web/cypress/fixtures/hfi-calc/hfi_result_cariboo.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/hfi_result_cariboo.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/hfi_result_cariboo.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/hfi_result_cariboo.json diff --git a/web/cypress/fixtures/hfi-calc/hfi_result_kamloops.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/hfi_result_kamloops.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/hfi_result_kamloops.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/hfi_result_kamloops.json diff --git a/web/cypress/fixtures/hfi-calc/ready-states.json b/web/apps/wps-web/cypress/fixtures/hfi-calc/ready-states.json similarity index 100% rename from web/cypress/fixtures/hfi-calc/ready-states.json rename to web/apps/wps-web/cypress/fixtures/hfi-calc/ready-states.json diff --git a/web/cypress/fixtures/percentiles/percentile-result.json b/web/apps/wps-web/cypress/fixtures/percentiles/percentile-result.json similarity index 100% rename from web/cypress/fixtures/percentiles/percentile-result.json rename to web/apps/wps-web/cypress/fixtures/percentiles/percentile-result.json diff --git a/web/cypress/fixtures/percentiles/two-percentiles-result.json b/web/apps/wps-web/cypress/fixtures/percentiles/two-percentiles-result.json similarity index 100% rename from web/cypress/fixtures/percentiles/two-percentiles-result.json rename to web/apps/wps-web/cypress/fixtures/percentiles/two-percentiles-result.json diff --git a/web/cypress/fixtures/weather-data/high-res-model-summaries.json b/web/apps/wps-web/cypress/fixtures/weather-data/high-res-model-summaries.json similarity index 100% rename from web/cypress/fixtures/weather-data/high-res-model-summaries.json rename to web/apps/wps-web/cypress/fixtures/weather-data/high-res-model-summaries.json diff --git a/web/cypress/fixtures/weather-data/hr-models-with-bias-adjusted.json b/web/apps/wps-web/cypress/fixtures/weather-data/hr-models-with-bias-adjusted.json similarity index 100% rename from web/cypress/fixtures/weather-data/hr-models-with-bias-adjusted.json rename to web/apps/wps-web/cypress/fixtures/weather-data/hr-models-with-bias-adjusted.json diff --git a/web/cypress/fixtures/weather-data/model-summaries.json b/web/apps/wps-web/cypress/fixtures/weather-data/model-summaries.json similarity index 100% rename from web/cypress/fixtures/weather-data/model-summaries.json rename to web/apps/wps-web/cypress/fixtures/weather-data/model-summaries.json diff --git a/web/cypress/fixtures/weather-data/models-with-bias-adjusted.json b/web/apps/wps-web/cypress/fixtures/weather-data/models-with-bias-adjusted.json similarity index 100% rename from web/cypress/fixtures/weather-data/models-with-bias-adjusted.json rename to web/apps/wps-web/cypress/fixtures/weather-data/models-with-bias-adjusted.json diff --git a/web/cypress/fixtures/weather-data/noon-forecast-summaries.json b/web/apps/wps-web/cypress/fixtures/weather-data/noon-forecast-summaries.json similarity index 100% rename from web/cypress/fixtures/weather-data/noon-forecast-summaries.json rename to web/apps/wps-web/cypress/fixtures/weather-data/noon-forecast-summaries.json diff --git a/web/cypress/fixtures/weather-data/noon-forecasts.json b/web/apps/wps-web/cypress/fixtures/weather-data/noon-forecasts.json similarity index 100% rename from web/cypress/fixtures/weather-data/noon-forecasts.json rename to web/apps/wps-web/cypress/fixtures/weather-data/noon-forecasts.json diff --git a/web/cypress/fixtures/weather-data/observations.json b/web/apps/wps-web/cypress/fixtures/weather-data/observations.json similarity index 100% rename from web/cypress/fixtures/weather-data/observations.json rename to web/apps/wps-web/cypress/fixtures/weather-data/observations.json diff --git a/web/cypress/fixtures/weather-data/regional-model-summaries.json b/web/apps/wps-web/cypress/fixtures/weather-data/regional-model-summaries.json similarity index 100% rename from web/cypress/fixtures/weather-data/regional-model-summaries.json rename to web/apps/wps-web/cypress/fixtures/weather-data/regional-model-summaries.json diff --git a/web/cypress/fixtures/weather-data/regional-models-with-bias-adjusted.json b/web/apps/wps-web/cypress/fixtures/weather-data/regional-models-with-bias-adjusted.json similarity index 100% rename from web/cypress/fixtures/weather-data/regional-models-with-bias-adjusted.json rename to web/apps/wps-web/cypress/fixtures/weather-data/regional-models-with-bias-adjusted.json diff --git a/web/cypress/fixtures/weather-stations-details.json b/web/apps/wps-web/cypress/fixtures/weather-stations-details.json similarity index 100% rename from web/cypress/fixtures/weather-stations-details.json rename to web/apps/wps-web/cypress/fixtures/weather-stations-details.json diff --git a/web/cypress/fixtures/weather-stations.json b/web/apps/wps-web/cypress/fixtures/weather-stations.json similarity index 100% rename from web/cypress/fixtures/weather-stations.json rename to web/apps/wps-web/cypress/fixtures/weather-stations.json diff --git a/web/cypress/support/commands.ts b/web/apps/wps-web/cypress/support/commands.ts similarity index 100% rename from web/cypress/support/commands.ts rename to web/apps/wps-web/cypress/support/commands.ts diff --git a/web/cypress/support/e2e.ts b/web/apps/wps-web/cypress/support/e2e.ts similarity index 100% rename from web/cypress/support/e2e.ts rename to web/apps/wps-web/cypress/support/e2e.ts diff --git a/web/cypress/support/fba-commands.ts b/web/apps/wps-web/cypress/support/fba-commands.ts similarity index 100% rename from web/cypress/support/fba-commands.ts rename to web/apps/wps-web/cypress/support/fba-commands.ts diff --git a/web/cypress/support/hfi-commands.ts b/web/apps/wps-web/cypress/support/hfi-commands.ts similarity index 100% rename from web/cypress/support/hfi-commands.ts rename to web/apps/wps-web/cypress/support/hfi-commands.ts diff --git a/web/cypress/support/percentile-commands.ts b/web/apps/wps-web/cypress/support/percentile-commands.ts similarity index 100% rename from web/cypress/support/percentile-commands.ts rename to web/apps/wps-web/cypress/support/percentile-commands.ts diff --git a/web/cypress/tsconfig.json b/web/apps/wps-web/cypress/tsconfig.json similarity index 100% rename from web/cypress/tsconfig.json rename to web/apps/wps-web/cypress/tsconfig.json diff --git a/web/eslint.config.cjs b/web/apps/wps-web/eslint.config.cjs similarity index 100% rename from web/eslint.config.cjs rename to web/apps/wps-web/eslint.config.cjs diff --git a/web/index.html b/web/apps/wps-web/index.html similarity index 100% rename from web/index.html rename to web/apps/wps-web/index.html diff --git a/web/manifest.json b/web/apps/wps-web/manifest.json similarity index 100% rename from web/manifest.json rename to web/apps/wps-web/manifest.json diff --git a/web/mergeCoverage.cjs b/web/apps/wps-web/mergeCoverage.cjs similarity index 100% rename from web/mergeCoverage.cjs rename to web/apps/wps-web/mergeCoverage.cjs diff --git a/web/apps/wps-web/package.json b/web/apps/wps-web/package.json new file mode 100644 index 0000000000..a5c434bff9 --- /dev/null +++ b/web/apps/wps-web/package.json @@ -0,0 +1,131 @@ +{ + "name": "@wps/wps-web", + "version": "0.1.0", + "engines": { + "node": ">=20", + "npm": ">=10.7.0" + }, + "type": "module", + "license": "Apache-2.0", + "licenses": [ + { + "type": "Apache-2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0" + } + ], + "dependencies": { + "@emotion/react": "^11.8.2", + "@emotion/styled": "^11.8.1", + "@mui/icons-material": "^5.5.1", + "@mui/material": "5.15.20", + "@mui/system": "^5.15.14", + "@mui/x-data-grid-pro": "^6.0.0", + "@mui/x-date-pickers": "^7.29.4", + "@psu/cffdrs_ts": "git+https://github.com/cffdrs/cffdrs_ts#b9afdabc89dd4bdf04ccf1e406a4a5d8d552ff51", + "@reduxjs/toolkit": "^2.2.7", + "@sentry/react": "^10.0.0", + "@sentry/vite-plugin": "^5.0.0", + "@types/esri-leaflet": "^3.0.0", + "@types/leaflet": "^1.7.0", + "@types/lodash": "^4.14.173", + "@types/luxon": "^3.0.2", + "@types/react": "18.3.3", + "@types/react-dom": "^18.3.0", + "@types/react-plotly.js": "^2.2.4", + "@types/react-router-dom": "^5.3.3", + "@types/webpack-env": "^1.15.1", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", + "@vitest/coverage-v8": "^4.0.8", + "@wps/api": "workspace:*", + "@wps/types": "workspace:*", + "@wps/ui": "workspace:*", + "@wps/utils": "workspace:*", + "axios": "1.8.2", + "date-fns": "^4.0.0", + "eslint-config-prettier": "^10.0.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-react": "^7.34.4", + "esri-leaflet": "3.0.12", + "filefy": "^0.1.11", + "jsdom": "^26.0.0", + "jwt-decode": "^4.0.0", + "keycloak-js": "^25.0.0", + "leaflet": "^1.7.1", + "lodash": "^4.17.21", + "luxon": "^3.0.2", + "match-sorter": "^8.0.0", + "nyc": "^17.0.0", + "ol": "10.0.0", + "ol-mapbox-style": "^13.1.1", + "ol-pmtiles": "^2.0.0", + "prettier": "^3.3.3", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-is": "^19.2.4", + "react-redux": "^9.1.2", + "react-router-dom": "^7.6.2", + "recharts": "^3.0.0", + "typescript": "^5.2.2", + "vitest": "^4.0.0", + "whatwg-fetch": "^3.6.20" + }, + "scripts": { + "start": "vite", + "dev": "vite", + "start:cypress": "export $(cat .env.cypress | xargs) && yarn start", + "build": "tsc -b && vite build", + "build:prod": "tsc -b && vite build", + "test": "VITE_PMTILES_BUCKET=https://nrs.objectstore.gov.bc.ca/gpdqha/psu/pmtiles/ vitest", + "test:ci": "CI=true npm test", + "coverage": "npm test -- --coverage --watchAll=false", + "coverage:ci": "CI=true VITE_KEYCLOAK_CLIENT=wps-web VITE_PMTILES_BUCKET=https://nrs.objectstore.gov.bc.ca/gpdqha/psu/pmtiles/ vitest run --coverage", + "cy:open": "cypress open", + "cy:run": "cypress run --browser chrome --config watchForFileChanges=false", + "cypress:ci": "start-server-and-test start:cypress http://localhost:3030 'cy:run'", + "lint": "eslint", + "lint:fix": "eslint --fix", + "format": "prettier --write \"**/*.+(js|jsx|json|yml|yaml|css|md)\"", + "finalizeCoverage": "yarn node mergeCoverage.cjs", + "preview": "vite preview" + }, + "devDependencies": { + "@babel/core": "^7.29.0", + "@babel/preset-env": "^7.29.0", + "@cypress/code-coverage": "^4.0.0", + "@eslint/compat": "^2.0.0", + "@testing-library/dom": "^10.1.0", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^16.0.0", + "@testing-library/user-event": "^14.5.2", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", + "@types/jest": "^30.0.0", + "@types/react-is": "^19", + "@types/recharts": "^1.8.23", + "@vitejs/plugin-react": "^4.3.1", + "@wps/tsconfig": "workspace:*", + "babel-loader": "^10.1.1", + "cypress": "^15.10.0", + "eslint": "^9.7.0", + "eslint-plugin-react-hooks": "^7.0.0", + "eslint-plugin-react-refresh": "^0.4.7", + "globals": "^17.0.0", + "rollup": "^4.59.0", + "start-server-and-test": "^2.0.0", + "ts-sinon": "^2.0.2", + "vite": "^7.0.0", + "vite-plugin-istanbul": "^7.0.0", + "vite-plugin-svgr": "^4.2.0", + "webpack": "^5.105.4" + }, + "nyc": { + "report-dir": "coverage-cypress", + "excludeAfterRemap": true, + "exclude": [ + "src/serviceWorker.ts", + "src/app/store.ts" + ] + }, + "_comment": "packageManager is defined at workspace root" +} diff --git a/web/public/images/BCID_H_rgb_rev.svg b/web/apps/wps-web/public/images/BCID_H_rgb_rev.svg similarity index 100% rename from web/public/images/BCID_H_rgb_rev.svg rename to web/apps/wps-web/public/images/BCID_H_rgb_rev.svg diff --git a/web/public/images/bc-wilderfire-service-logo.png b/web/apps/wps-web/public/images/bc-wilderfire-service-logo.png similarity index 100% rename from web/public/images/bc-wilderfire-service-logo.png rename to web/apps/wps-web/public/images/bc-wilderfire-service-logo.png diff --git a/web/public/images/bcid-192x192.png b/web/apps/wps-web/public/images/bcid-192x192.png similarity index 100% rename from web/public/images/bcid-192x192.png rename to web/apps/wps-web/public/images/bcid-192x192.png diff --git a/web/public/images/bcid-512x512.png b/web/apps/wps-web/public/images/bcid-512x512.png similarity index 100% rename from web/public/images/bcid-512x512.png rename to web/apps/wps-web/public/images/bcid-512x512.png diff --git a/web/public/images/bcid-apple-icon.svg b/web/apps/wps-web/public/images/bcid-apple-icon.svg similarity index 100% rename from web/public/images/bcid-apple-icon.svg rename to web/apps/wps-web/public/images/bcid-apple-icon.svg diff --git a/web/public/images/bcid-apple-touch-icon.png b/web/apps/wps-web/public/images/bcid-apple-touch-icon.png similarity index 100% rename from web/public/images/bcid-apple-touch-icon.png rename to web/apps/wps-web/public/images/bcid-apple-touch-icon.png diff --git a/web/public/images/bcid-favicon-16x16.png b/web/apps/wps-web/public/images/bcid-favicon-16x16.png similarity index 100% rename from web/public/images/bcid-favicon-16x16.png rename to web/apps/wps-web/public/images/bcid-favicon-16x16.png diff --git a/web/public/images/bcid-favicon-32x32.png b/web/apps/wps-web/public/images/bcid-favicon-32x32.png similarity index 100% rename from web/public/images/bcid-favicon-32x32.png rename to web/apps/wps-web/public/images/bcid-favicon-32x32.png diff --git a/web/public/images/bcid-logo-en.svg b/web/apps/wps-web/public/images/bcid-logo-en.svg similarity index 100% rename from web/public/images/bcid-logo-en.svg rename to web/apps/wps-web/public/images/bcid-logo-en.svg diff --git a/web/public/images/bcid-logo-fr.svg b/web/apps/wps-web/public/images/bcid-logo-fr.svg similarity index 100% rename from web/public/images/bcid-logo-fr.svg rename to web/apps/wps-web/public/images/bcid-logo-fr.svg diff --git a/web/public/images/bcid-logo-rev-en.svg b/web/apps/wps-web/public/images/bcid-logo-rev-en.svg similarity index 100% rename from web/public/images/bcid-logo-rev-en.svg rename to web/apps/wps-web/public/images/bcid-logo-rev-en.svg diff --git a/web/public/images/bcid-logo-rev-fr.svg b/web/apps/wps-web/public/images/bcid-logo-rev-fr.svg similarity index 100% rename from web/public/images/bcid-logo-rev-fr.svg rename to web/apps/wps-web/public/images/bcid-logo-rev-fr.svg diff --git a/web/public/images/bcid-symbol-rev.svg b/web/apps/wps-web/public/images/bcid-symbol-rev.svg similarity index 100% rename from web/public/images/bcid-symbol-rev.svg rename to web/apps/wps-web/public/images/bcid-symbol-rev.svg diff --git a/web/public/images/bcid-symbol.svg b/web/apps/wps-web/public/images/bcid-symbol.svg similarity index 100% rename from web/public/images/bcid-symbol.svg rename to web/apps/wps-web/public/images/bcid-symbol.svg diff --git a/web/public/images/fbpgo_maskable.png b/web/apps/wps-web/public/images/fbpgo_maskable.png similarity index 100% rename from web/public/images/fbpgo_maskable.png rename to web/apps/wps-web/public/images/fbpgo_maskable.png diff --git a/web/public/images/logo-banner.svg b/web/apps/wps-web/public/images/logo-banner.svg similarity index 100% rename from web/public/images/logo-banner.svg rename to web/apps/wps-web/public/images/logo-banner.svg diff --git a/web/public/images/redMarker.png b/web/apps/wps-web/public/images/redMarker.png similarity index 100% rename from web/public/images/redMarker.png rename to web/apps/wps-web/public/images/redMarker.png diff --git a/web/src/app/App.tsx b/web/apps/wps-web/src/app/App.tsx similarity index 100% rename from web/src/app/App.tsx rename to web/apps/wps-web/src/app/App.tsx diff --git a/web/src/app/Routes.tsx b/web/apps/wps-web/src/app/Routes.tsx similarity index 100% rename from web/src/app/Routes.tsx rename to web/apps/wps-web/src/app/Routes.tsx diff --git a/web/src/app/rootReducer.ts b/web/apps/wps-web/src/app/rootReducer.ts similarity index 100% rename from web/src/app/rootReducer.ts rename to web/apps/wps-web/src/app/rootReducer.ts diff --git a/web/src/app/store.ts b/web/apps/wps-web/src/app/store.ts similarity index 100% rename from web/src/app/store.ts rename to web/apps/wps-web/src/app/store.ts diff --git a/web/src/commonSlices/fireCentersSlice.ts b/web/apps/wps-web/src/commonSlices/fireCentersSlice.ts similarity index 100% rename from web/src/commonSlices/fireCentersSlice.ts rename to web/apps/wps-web/src/commonSlices/fireCentersSlice.ts diff --git a/web/src/commonSlices/selectedStationGroupMembers.test.ts b/web/apps/wps-web/src/commonSlices/selectedStationGroupMembers.test.ts similarity index 100% rename from web/src/commonSlices/selectedStationGroupMembers.test.ts rename to web/apps/wps-web/src/commonSlices/selectedStationGroupMembers.test.ts diff --git a/web/src/commonSlices/selectedStationGroupMembers.ts b/web/apps/wps-web/src/commonSlices/selectedStationGroupMembers.ts similarity index 100% rename from web/src/commonSlices/selectedStationGroupMembers.ts rename to web/apps/wps-web/src/commonSlices/selectedStationGroupMembers.ts diff --git a/web/src/commonSlices/stationGroupsSlice.ts b/web/apps/wps-web/src/commonSlices/stationGroupsSlice.ts similarity index 100% rename from web/src/commonSlices/stationGroupsSlice.ts rename to web/apps/wps-web/src/commonSlices/stationGroupsSlice.ts diff --git a/web/src/documents/90th_percentile_calculator_rationale.pdf b/web/apps/wps-web/src/documents/90th_percentile_calculator_rationale.pdf similarity index 100% rename from web/src/documents/90th_percentile_calculator_rationale.pdf rename to web/apps/wps-web/src/documents/90th_percentile_calculator_rationale.pdf diff --git a/web/src/features/NoMatchPage.tsx b/web/apps/wps-web/src/features/NoMatchPage.tsx similarity index 100% rename from web/src/features/NoMatchPage.tsx rename to web/apps/wps-web/src/features/NoMatchPage.tsx diff --git a/web/src/features/auth/components/AuthWrapper.tsx b/web/apps/wps-web/src/features/auth/components/AuthWrapper.tsx similarity index 100% rename from web/src/features/auth/components/AuthWrapper.tsx rename to web/apps/wps-web/src/features/auth/components/AuthWrapper.tsx diff --git a/web/src/features/auth/keycloak.ts b/web/apps/wps-web/src/features/auth/keycloak.ts similarity index 100% rename from web/src/features/auth/keycloak.ts rename to web/apps/wps-web/src/features/auth/keycloak.ts diff --git a/web/src/features/auth/roles.ts b/web/apps/wps-web/src/features/auth/roles.ts similarity index 100% rename from web/src/features/auth/roles.ts rename to web/apps/wps-web/src/features/auth/roles.ts diff --git a/web/src/features/auth/slices/authenticationSlice.test.ts b/web/apps/wps-web/src/features/auth/slices/authenticationSlice.test.ts similarity index 100% rename from web/src/features/auth/slices/authenticationSlice.test.ts rename to web/apps/wps-web/src/features/auth/slices/authenticationSlice.test.ts diff --git a/web/src/features/auth/slices/authenticationSlice.ts b/web/apps/wps-web/src/features/auth/slices/authenticationSlice.ts similarity index 100% rename from web/src/features/auth/slices/authenticationSlice.ts rename to web/apps/wps-web/src/features/auth/slices/authenticationSlice.ts diff --git a/web/src/features/cHaines/pages/CHainesPage.tsx b/web/apps/wps-web/src/features/cHaines/pages/CHainesPage.tsx similarity index 100% rename from web/src/features/cHaines/pages/CHainesPage.tsx rename to web/apps/wps-web/src/features/cHaines/pages/CHainesPage.tsx diff --git a/web/src/features/cHaines/slices/cHainesModelRunsSlice.tsx b/web/apps/wps-web/src/features/cHaines/slices/cHainesModelRunsSlice.tsx similarity index 100% rename from web/src/features/cHaines/slices/cHainesModelRunsSlice.tsx rename to web/apps/wps-web/src/features/cHaines/slices/cHainesModelRunsSlice.tsx diff --git a/web/src/features/cHaines/slices/cHainesPredictionsSlice.tsx b/web/apps/wps-web/src/features/cHaines/slices/cHainesPredictionsSlice.tsx similarity index 100% rename from web/src/features/cHaines/slices/cHainesPredictionsSlice.tsx rename to web/apps/wps-web/src/features/cHaines/slices/cHainesPredictionsSlice.tsx diff --git a/web/src/features/fba/calculateZoneStatus.test.ts b/web/apps/wps-web/src/features/fba/calculateZoneStatus.test.ts similarity index 100% rename from web/src/features/fba/calculateZoneStatus.test.ts rename to web/apps/wps-web/src/features/fba/calculateZoneStatus.test.ts diff --git a/web/src/features/fba/calculateZoneStatus.ts b/web/apps/wps-web/src/features/fba/calculateZoneStatus.ts similarity index 100% rename from web/src/features/fba/calculateZoneStatus.ts rename to web/apps/wps-web/src/features/fba/calculateZoneStatus.ts diff --git a/web/src/features/fba/components/ASAAboutDataContent.tsx b/web/apps/wps-web/src/features/fba/components/ASAAboutDataContent.tsx similarity index 100% rename from web/src/features/fba/components/ASAAboutDataContent.tsx rename to web/apps/wps-web/src/features/fba/components/ASAAboutDataContent.tsx diff --git a/web/src/features/fba/components/ASADatePicker.test.tsx b/web/apps/wps-web/src/features/fba/components/ASADatePicker.test.tsx similarity index 100% rename from web/src/features/fba/components/ASADatePicker.test.tsx rename to web/apps/wps-web/src/features/fba/components/ASADatePicker.test.tsx diff --git a/web/src/features/fba/components/ASADatePicker.tsx b/web/apps/wps-web/src/features/fba/components/ASADatePicker.tsx similarity index 100% rename from web/src/features/fba/components/ASADatePicker.tsx rename to web/apps/wps-web/src/features/fba/components/ASADatePicker.tsx diff --git a/web/src/features/fba/components/ActualForecastControl.tsx b/web/apps/wps-web/src/features/fba/components/ActualForecastControl.tsx similarity index 100% rename from web/src/features/fba/components/ActualForecastControl.tsx rename to web/apps/wps-web/src/features/fba/components/ActualForecastControl.tsx diff --git a/web/src/features/fba/components/actualForecastControl.test.tsx b/web/apps/wps-web/src/features/fba/components/actualForecastControl.test.tsx similarity index 100% rename from web/src/features/fba/components/actualForecastControl.test.tsx rename to web/apps/wps-web/src/features/fba/components/actualForecastControl.test.tsx diff --git a/web/src/features/fba/components/infoPanel/AdvisoryReport.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/AdvisoryReport.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/AdvisoryReport.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/AdvisoryReport.tsx diff --git a/web/src/features/fba/components/infoPanel/AdvisoryText.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/AdvisoryText.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/AdvisoryText.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/AdvisoryText.tsx diff --git a/web/src/features/fba/components/infoPanel/FireCentreInfo.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/FireCentreInfo.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/FireCentreInfo.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/FireCentreInfo.tsx diff --git a/web/src/features/fba/components/infoPanel/FireZoneUnitInfo.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/FireZoneUnitInfo.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/FireZoneUnitInfo.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/FireZoneUnitInfo.tsx diff --git a/web/src/features/fba/components/infoPanel/FireZoneUnitSummary.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/FireZoneUnitSummary.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/FireZoneUnitSummary.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/FireZoneUnitSummary.tsx diff --git a/web/src/features/fba/components/infoPanel/FireZoneUnitTabs.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/FireZoneUnitTabs.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/FireZoneUnitTabs.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/FireZoneUnitTabs.tsx diff --git a/web/src/features/fba/components/infoPanel/InfoAccordion.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/InfoAccordion.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/InfoAccordion.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/InfoAccordion.tsx diff --git a/web/src/features/fba/components/infoPanel/ProvincialSummary.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/ProvincialSummary.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/ProvincialSummary.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/ProvincialSummary.tsx diff --git a/web/src/features/fba/components/infoPanel/TabPanel.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/TabPanel.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/TabPanel.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/TabPanel.tsx diff --git a/web/src/features/fba/components/infoPanel/advisoryReport.test.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/advisoryReport.test.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/advisoryReport.test.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/advisoryReport.test.tsx diff --git a/web/src/features/fba/components/infoPanel/advisoryText.test.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/advisoryText.test.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/advisoryText.test.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/advisoryText.test.tsx diff --git a/web/src/features/fba/components/infoPanel/fireCentreInfo.test.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/fireCentreInfo.test.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/fireCentreInfo.test.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/fireCentreInfo.test.tsx diff --git a/web/src/features/fba/components/infoPanel/fireZoneUnitInfo.test.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/fireZoneUnitInfo.test.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/fireZoneUnitInfo.test.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/fireZoneUnitInfo.test.tsx diff --git a/web/src/features/fba/components/infoPanel/fireZoneUnitSummary.test.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/fireZoneUnitSummary.test.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/fireZoneUnitSummary.test.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/fireZoneUnitSummary.test.tsx diff --git a/web/src/features/fba/components/infoPanel/fireZoneUnitTabs.test.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/fireZoneUnitTabs.test.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/fireZoneUnitTabs.test.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/fireZoneUnitTabs.test.tsx diff --git a/web/src/features/fba/components/infoPanel/infoAccordion.test.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/infoAccordion.test.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/infoAccordion.test.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/infoAccordion.test.tsx diff --git a/web/src/features/fba/components/infoPanel/provincialSummary.test.tsx b/web/apps/wps-web/src/features/fba/components/infoPanel/provincialSummary.test.tsx similarity index 100% rename from web/src/features/fba/components/infoPanel/provincialSummary.test.tsx rename to web/apps/wps-web/src/features/fba/components/infoPanel/provincialSummary.test.tsx diff --git a/web/src/features/fba/components/map/FBAMap.tsx b/web/apps/wps-web/src/features/fba/components/map/FBAMap.tsx similarity index 100% rename from web/src/features/fba/components/map/FBAMap.tsx rename to web/apps/wps-web/src/features/fba/components/map/FBAMap.tsx diff --git a/web/src/features/fba/components/map/Legend.tsx b/web/apps/wps-web/src/features/fba/components/map/Legend.tsx similarity index 100% rename from web/src/features/fba/components/map/Legend.tsx rename to web/apps/wps-web/src/features/fba/components/map/Legend.tsx diff --git a/web/src/features/fba/components/map/ScaleBarContainer.tsx b/web/apps/wps-web/src/features/fba/components/map/ScaleBarContainer.tsx similarity index 100% rename from web/src/features/fba/components/map/ScaleBarContainer.tsx rename to web/apps/wps-web/src/features/fba/components/map/ScaleBarContainer.tsx diff --git a/web/src/features/fba/components/map/fbaMap.test.tsx b/web/apps/wps-web/src/features/fba/components/map/fbaMap.test.tsx similarity index 100% rename from web/src/features/fba/components/map/fbaMap.test.tsx rename to web/apps/wps-web/src/features/fba/components/map/fbaMap.test.tsx diff --git a/web/src/features/fba/components/map/featureStylers.ts b/web/apps/wps-web/src/features/fba/components/map/featureStylers.ts similarity index 100% rename from web/src/features/fba/components/map/featureStylers.ts rename to web/apps/wps-web/src/features/fba/components/map/featureStylers.ts diff --git a/web/src/features/fba/components/map/legend.test.tsx b/web/apps/wps-web/src/features/fba/components/map/legend.test.tsx similarity index 100% rename from web/src/features/fba/components/map/legend.test.tsx rename to web/apps/wps-web/src/features/fba/components/map/legend.test.tsx diff --git a/web/src/features/fba/components/map/scalebarContainer.test.tsx b/web/apps/wps-web/src/features/fba/components/map/scalebarContainer.test.tsx similarity index 100% rename from web/src/features/fba/components/map/scalebarContainer.test.tsx rename to web/apps/wps-web/src/features/fba/components/map/scalebarContainer.test.tsx diff --git a/web/src/features/fba/components/viz/CriticalHours.tsx b/web/apps/wps-web/src/features/fba/components/viz/CriticalHours.tsx similarity index 100% rename from web/src/features/fba/components/viz/CriticalHours.tsx rename to web/apps/wps-web/src/features/fba/components/viz/CriticalHours.tsx diff --git a/web/src/features/fba/components/viz/ElevationFlag.tsx b/web/apps/wps-web/src/features/fba/components/viz/ElevationFlag.tsx similarity index 100% rename from web/src/features/fba/components/viz/ElevationFlag.tsx rename to web/apps/wps-web/src/features/fba/components/viz/ElevationFlag.tsx diff --git a/web/src/features/fba/components/viz/ElevationInfoViz.tsx b/web/apps/wps-web/src/features/fba/components/viz/ElevationInfoViz.tsx similarity index 100% rename from web/src/features/fba/components/viz/ElevationInfoViz.tsx rename to web/apps/wps-web/src/features/fba/components/viz/ElevationInfoViz.tsx diff --git a/web/src/features/fba/components/viz/ElevationLabel.tsx b/web/apps/wps-web/src/features/fba/components/viz/ElevationLabel.tsx similarity index 100% rename from web/src/features/fba/components/viz/ElevationLabel.tsx rename to web/apps/wps-web/src/features/fba/components/viz/ElevationLabel.tsx diff --git a/web/src/features/fba/components/viz/ElevationStatus.tsx b/web/apps/wps-web/src/features/fba/components/viz/ElevationStatus.tsx similarity index 100% rename from web/src/features/fba/components/viz/ElevationStatus.tsx rename to web/apps/wps-web/src/features/fba/components/viz/ElevationStatus.tsx diff --git a/web/src/features/fba/components/viz/FillableFlag.tsx b/web/apps/wps-web/src/features/fba/components/viz/FillableFlag.tsx similarity index 100% rename from web/src/features/fba/components/viz/FillableFlag.tsx rename to web/apps/wps-web/src/features/fba/components/viz/FillableFlag.tsx diff --git a/web/src/features/fba/components/viz/FuelDistribution.tsx b/web/apps/wps-web/src/features/fba/components/viz/FuelDistribution.tsx similarity index 100% rename from web/src/features/fba/components/viz/FuelDistribution.tsx rename to web/apps/wps-web/src/features/fba/components/viz/FuelDistribution.tsx diff --git a/web/src/features/fba/components/viz/FuelSummary.tsx b/web/apps/wps-web/src/features/fba/components/viz/FuelSummary.tsx similarity index 100% rename from web/src/features/fba/components/viz/FuelSummary.tsx rename to web/apps/wps-web/src/features/fba/components/viz/FuelSummary.tsx diff --git a/web/src/features/fba/components/viz/color.test.ts b/web/apps/wps-web/src/features/fba/components/viz/color.test.ts similarity index 100% rename from web/src/features/fba/components/viz/color.test.ts rename to web/apps/wps-web/src/features/fba/components/viz/color.test.ts diff --git a/web/src/features/fba/components/viz/color.ts b/web/apps/wps-web/src/features/fba/components/viz/color.ts similarity index 100% rename from web/src/features/fba/components/viz/color.ts rename to web/apps/wps-web/src/features/fba/components/viz/color.ts diff --git a/web/src/features/fba/components/viz/criticalHours.test.tsx b/web/apps/wps-web/src/features/fba/components/viz/criticalHours.test.tsx similarity index 100% rename from web/src/features/fba/components/viz/criticalHours.test.tsx rename to web/apps/wps-web/src/features/fba/components/viz/criticalHours.test.tsx diff --git a/web/src/features/fba/components/viz/elevationFlag.test.tsx b/web/apps/wps-web/src/features/fba/components/viz/elevationFlag.test.tsx similarity index 100% rename from web/src/features/fba/components/viz/elevationFlag.test.tsx rename to web/apps/wps-web/src/features/fba/components/viz/elevationFlag.test.tsx diff --git a/web/src/features/fba/components/viz/elevationStatus.test.tsx b/web/apps/wps-web/src/features/fba/components/viz/elevationStatus.test.tsx similarity index 100% rename from web/src/features/fba/components/viz/elevationStatus.test.tsx rename to web/apps/wps-web/src/features/fba/components/viz/elevationStatus.test.tsx diff --git a/web/src/features/fba/components/viz/fillableFlag.test.tsx b/web/apps/wps-web/src/features/fba/components/viz/fillableFlag.test.tsx similarity index 100% rename from web/src/features/fba/components/viz/fillableFlag.test.tsx rename to web/apps/wps-web/src/features/fba/components/viz/fillableFlag.test.tsx diff --git a/web/src/features/fba/components/viz/fuelDistribution.test.tsx b/web/apps/wps-web/src/features/fba/components/viz/fuelDistribution.test.tsx similarity index 100% rename from web/src/features/fba/components/viz/fuelDistribution.test.tsx rename to web/apps/wps-web/src/features/fba/components/viz/fuelDistribution.test.tsx diff --git a/web/src/features/fba/context/MapContext.tsx b/web/apps/wps-web/src/features/fba/context/MapContext.tsx similarity index 100% rename from web/src/features/fba/context/MapContext.tsx rename to web/apps/wps-web/src/features/fba/context/MapContext.tsx diff --git a/web/src/features/fba/cqlBuilder.ts b/web/apps/wps-web/src/features/fba/cqlBuilder.ts similarity index 100% rename from web/src/features/fba/cqlBuilder.ts rename to web/apps/wps-web/src/features/fba/cqlBuilder.ts diff --git a/web/src/features/fba/criticalHoursStartEndTime.test.ts b/web/apps/wps-web/src/features/fba/criticalHoursStartEndTime.test.ts similarity index 100% rename from web/src/features/fba/criticalHoursStartEndTime.test.ts rename to web/apps/wps-web/src/features/fba/criticalHoursStartEndTime.test.ts diff --git a/web/src/features/fba/criticalHoursStartEndTime.ts b/web/apps/wps-web/src/features/fba/criticalHoursStartEndTime.ts similarity index 100% rename from web/src/features/fba/criticalHoursStartEndTime.ts rename to web/apps/wps-web/src/features/fba/criticalHoursStartEndTime.ts diff --git a/web/src/features/fba/fireCentreExtents.ts b/web/apps/wps-web/src/features/fba/fireCentreExtents.ts similarity index 100% rename from web/src/features/fba/fireCentreExtents.ts rename to web/apps/wps-web/src/features/fba/fireCentreExtents.ts diff --git a/web/src/features/fba/fireZoneUnitExtents.ts b/web/apps/wps-web/src/features/fba/fireZoneUnitExtents.ts similarity index 100% rename from web/src/features/fba/fireZoneUnitExtents.ts rename to web/apps/wps-web/src/features/fba/fireZoneUnitExtents.ts diff --git a/web/src/features/fba/hfiStatsUtils.test.ts b/web/apps/wps-web/src/features/fba/hfiStatsUtils.test.ts similarity index 100% rename from web/src/features/fba/hfiStatsUtils.test.ts rename to web/apps/wps-web/src/features/fba/hfiStatsUtils.test.ts diff --git a/web/src/features/fba/hfiStatsUtils.ts b/web/apps/wps-web/src/features/fba/hfiStatsUtils.ts similarity index 100% rename from web/src/features/fba/hfiStatsUtils.ts rename to web/apps/wps-web/src/features/fba/hfiStatsUtils.ts diff --git a/web/src/features/fba/hooks/useFireCentreDetails.ts b/web/apps/wps-web/src/features/fba/hooks/useFireCentreDetails.ts similarity index 100% rename from web/src/features/fba/hooks/useFireCentreDetails.ts rename to web/apps/wps-web/src/features/fba/hooks/useFireCentreDetails.ts diff --git a/web/src/features/fba/hooks/useLoading.test.tsx b/web/apps/wps-web/src/features/fba/hooks/useLoading.test.tsx similarity index 100% rename from web/src/features/fba/hooks/useLoading.test.tsx rename to web/apps/wps-web/src/features/fba/hooks/useLoading.test.tsx diff --git a/web/src/features/fba/hooks/useLoading.ts b/web/apps/wps-web/src/features/fba/hooks/useLoading.ts similarity index 100% rename from web/src/features/fba/hooks/useLoading.ts rename to web/apps/wps-web/src/features/fba/hooks/useLoading.ts diff --git a/web/src/features/fba/images/mountain.png b/web/apps/wps-web/src/features/fba/images/mountain.png similarity index 100% rename from web/src/features/fba/images/mountain.png rename to web/apps/wps-web/src/features/fba/images/mountain.png diff --git a/web/src/features/fba/pages/FireBehaviourAdvisoryPage.tsx b/web/apps/wps-web/src/features/fba/pages/FireBehaviourAdvisoryPage.tsx similarity index 100% rename from web/src/features/fba/pages/FireBehaviourAdvisoryPage.tsx rename to web/apps/wps-web/src/features/fba/pages/FireBehaviourAdvisoryPage.tsx diff --git a/web/src/features/fba/pmtilesBuilder.ts b/web/apps/wps-web/src/features/fba/pmtilesBuilder.ts similarity index 100% rename from web/src/features/fba/pmtilesBuilder.ts rename to web/apps/wps-web/src/features/fba/pmtilesBuilder.ts diff --git a/web/src/features/fba/slices/fireCentreHFIFuelStatsSlice.test.ts b/web/apps/wps-web/src/features/fba/slices/fireCentreHFIFuelStatsSlice.test.ts similarity index 100% rename from web/src/features/fba/slices/fireCentreHFIFuelStatsSlice.test.ts rename to web/apps/wps-web/src/features/fba/slices/fireCentreHFIFuelStatsSlice.test.ts diff --git a/web/src/features/fba/slices/fireCentreHFIFuelStatsSlice.ts b/web/apps/wps-web/src/features/fba/slices/fireCentreHFIFuelStatsSlice.ts similarity index 100% rename from web/src/features/fba/slices/fireCentreHFIFuelStatsSlice.ts rename to web/apps/wps-web/src/features/fba/slices/fireCentreHFIFuelStatsSlice.ts diff --git a/web/src/features/fba/slices/fireCentreTPIStatsSlice.test.ts b/web/apps/wps-web/src/features/fba/slices/fireCentreTPIStatsSlice.test.ts similarity index 100% rename from web/src/features/fba/slices/fireCentreTPIStatsSlice.test.ts rename to web/apps/wps-web/src/features/fba/slices/fireCentreTPIStatsSlice.test.ts diff --git a/web/src/features/fba/slices/fireCentreTPIStatsSlice.ts b/web/apps/wps-web/src/features/fba/slices/fireCentreTPIStatsSlice.ts similarity index 100% rename from web/src/features/fba/slices/fireCentreTPIStatsSlice.ts rename to web/apps/wps-web/src/features/fba/slices/fireCentreTPIStatsSlice.ts diff --git a/web/src/features/fba/slices/fireZoneElevationInfoSlice.ts b/web/apps/wps-web/src/features/fba/slices/fireZoneElevationInfoSlice.ts similarity index 100% rename from web/src/features/fba/slices/fireZoneElevationInfoSlice.ts rename to web/apps/wps-web/src/features/fba/slices/fireZoneElevationInfoSlice.ts diff --git a/web/src/features/fba/slices/provincialSummarySlice.ts b/web/apps/wps-web/src/features/fba/slices/provincialSummarySlice.ts similarity index 100% rename from web/src/features/fba/slices/provincialSummarySlice.ts rename to web/apps/wps-web/src/features/fba/slices/provincialSummarySlice.ts diff --git a/web/src/features/fba/slices/runDatesSlice.test.ts b/web/apps/wps-web/src/features/fba/slices/runDatesSlice.test.ts similarity index 100% rename from web/src/features/fba/slices/runDatesSlice.test.ts rename to web/apps/wps-web/src/features/fba/slices/runDatesSlice.test.ts diff --git a/web/src/features/fba/slices/runDatesSlice.ts b/web/apps/wps-web/src/features/fba/slices/runDatesSlice.ts similarity index 100% rename from web/src/features/fba/slices/runDatesSlice.ts rename to web/apps/wps-web/src/features/fba/slices/runDatesSlice.ts diff --git a/web/src/features/fba/slices/valueAtCoordinateSlice.ts b/web/apps/wps-web/src/features/fba/slices/valueAtCoordinateSlice.ts similarity index 100% rename from web/src/features/fba/slices/valueAtCoordinateSlice.ts rename to web/apps/wps-web/src/features/fba/slices/valueAtCoordinateSlice.ts diff --git a/web/src/features/fbaCalculator/RowManager.ts b/web/apps/wps-web/src/features/fbaCalculator/RowManager.ts similarity index 100% rename from web/src/features/fbaCalculator/RowManager.ts rename to web/apps/wps-web/src/features/fbaCalculator/RowManager.ts diff --git a/web/src/features/fbaCalculator/components/CriticalHoursCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/CriticalHoursCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/CriticalHoursCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/CriticalHoursCell.tsx diff --git a/web/src/features/fbaCalculator/components/CrownFractionBurnedCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/CrownFractionBurnedCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/CrownFractionBurnedCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/CrownFractionBurnedCell.tsx diff --git a/web/src/features/fbaCalculator/components/ErrorAlert.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/ErrorAlert.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/ErrorAlert.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/ErrorAlert.tsx diff --git a/web/src/features/fbaCalculator/components/FBAProgressRow.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/FBAProgressRow.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/FBAProgressRow.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/FBAProgressRow.tsx diff --git a/web/src/features/fbaCalculator/components/FBATable.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/FBATable.tsx similarity index 99% rename from web/src/features/fbaCalculator/components/FBATable.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/FBATable.tsx index 24b93b75cd..09c8f59d9c 100644 --- a/web/src/features/fbaCalculator/components/FBATable.tsx +++ b/web/apps/wps-web/src/features/fbaCalculator/components/FBATable.tsx @@ -30,7 +30,7 @@ import { useLocation, useNavigate } from 'react-router-dom' import { rowShouldUpdate, isWindSpeedInvalid, isPrecipInvalid } from 'features/fbaCalculator/validation' import TextDisplayCell from 'features/fbaCalculator/components/TextDisplayCell' import FixedDecimalNumberCell from 'features/fbaCalculator/components/FixedDecimalNumberCell' -import HFICell from 'components/HFICell' +import HFICell from './HFICell' import CrownFractionBurnedCell from 'features/fbaCalculator/components/CrownFractionBurnedCell' import CriticalHoursCell from 'features/fbaCalculator/components/CriticalHoursCell' import StatusCell from 'features/fbaCalculator/components/StatusCell' @@ -41,7 +41,7 @@ import StickyCell from 'components/StickyCell' import FBATableHead from 'features/fbaCalculator/components/FBATableHead' import FireTable from 'components/FireTable' import FBATableInstructions from 'features/fbaCalculator/components/FBATableInstructions' -import FilterColumnsModal from 'components/FilterColumnsModal' +import FilterColumnsModal from './FilterColumnsModal' import WPSDatePicker from 'components/WPSDatePicker' import { AppDispatch } from 'app/store' import { DataTableCell } from 'features/hfiCalculator/components/StyledPlanningAreaComponents' diff --git a/web/src/features/fbaCalculator/components/FBATableHead.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/FBATableHead.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/FBATableHead.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/FBATableHead.tsx diff --git a/web/src/features/fbaCalculator/components/FBATableInstructions.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/FBATableInstructions.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/FBATableInstructions.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/FBATableInstructions.tsx diff --git a/web/src/features/fbaCalculator/components/FbaAboutDataContent.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/FbaAboutDataContent.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/FbaAboutDataContent.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/FbaAboutDataContent.tsx diff --git a/web/src/components/FilterColumnsModal.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/FilterColumnsModal.tsx similarity index 100% rename from web/src/components/FilterColumnsModal.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/FilterColumnsModal.tsx diff --git a/web/src/features/fbaCalculator/components/FixedDecimalNumberCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/FixedDecimalNumberCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/FixedDecimalNumberCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/FixedDecimalNumberCell.tsx diff --git a/web/src/features/fbaCalculator/components/FuelTypeCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/FuelTypeCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/FuelTypeCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/FuelTypeCell.tsx diff --git a/web/src/features/fbaCalculator/components/GrassCureCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/GrassCureCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/GrassCureCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/GrassCureCell.tsx diff --git a/web/src/components/HFICell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/HFICell.tsx similarity index 94% rename from web/src/components/HFICell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/HFICell.tsx index 344a4d52c8..40064678ae 100644 --- a/web/src/components/HFICell.tsx +++ b/web/apps/wps-web/src/features/fbaCalculator/components/HFICell.tsx @@ -1,7 +1,7 @@ import { TableCell } from '@mui/material' import { styled } from '@mui/material/styles' import React from 'react' -import FixedDecimalNumberCell from 'features/fbaCalculator/components/FixedDecimalNumberCell' +import FixedDecimalNumberCell from './FixedDecimalNumberCell' import { isNull, isUndefined } from 'lodash' const PREFIX = 'HFICell' diff --git a/web/src/features/fbaCalculator/components/LoadingIndicatorCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/LoadingIndicatorCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/LoadingIndicatorCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/LoadingIndicatorCell.tsx diff --git a/web/src/features/fbaCalculator/components/PrecipCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/PrecipCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/PrecipCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/PrecipCell.tsx diff --git a/web/src/features/fbaCalculator/components/SelectionCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/SelectionCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/SelectionCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/SelectionCell.tsx diff --git a/web/src/features/fbaCalculator/components/StatusCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/StatusCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/StatusCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/StatusCell.tsx diff --git a/web/src/features/fbaCalculator/components/TableHeader.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/TableHeader.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/TableHeader.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/TableHeader.tsx diff --git a/web/src/features/fbaCalculator/components/TextDisplayCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/TextDisplayCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/TextDisplayCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/TextDisplayCell.tsx diff --git a/web/src/features/fbaCalculator/components/WeatherStationCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/WeatherStationCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/WeatherStationCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/WeatherStationCell.tsx diff --git a/web/src/features/fbaCalculator/components/WindSpeedCell.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/WindSpeedCell.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/WindSpeedCell.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/WindSpeedCell.tsx diff --git a/web/src/features/fbaCalculator/components/fbaProgressRow.test.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/fbaProgressRow.test.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/fbaProgressRow.test.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/fbaProgressRow.test.tsx diff --git a/web/src/features/fbaCalculator/components/grassCureCell.test.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/grassCureCell.test.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/grassCureCell.test.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/grassCureCell.test.tsx diff --git a/web/src/components/hfiCell.test.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/hfiCell.test.tsx similarity index 98% rename from web/src/components/hfiCell.test.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/hfiCell.test.tsx index 94ec2fb14d..9e29b06d1e 100644 --- a/web/src/components/hfiCell.test.tsx +++ b/web/apps/wps-web/src/features/fbaCalculator/components/hfiCell.test.tsx @@ -1,6 +1,6 @@ import { TableContainer, Table, TableBody, TableRow } from '@mui/material' import { render } from '@testing-library/react' -import HFICell from 'components/HFICell' +import HFICell from './HFICell' describe('HFICell', () => { it('should render without color when HFI is undefined', () => { diff --git a/web/src/features/fbaCalculator/components/loadingIndicatorCell.test.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/loadingIndicatorCell.test.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/loadingIndicatorCell.test.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/loadingIndicatorCell.test.tsx diff --git a/web/src/features/fbaCalculator/components/precipCell.test.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/precipCell.test.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/precipCell.test.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/precipCell.test.tsx diff --git a/web/src/features/fbaCalculator/components/selectionCell.test.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/selectionCell.test.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/selectionCell.test.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/selectionCell.test.tsx diff --git a/web/src/features/fbaCalculator/components/windSpeedCell.test.tsx b/web/apps/wps-web/src/features/fbaCalculator/components/windSpeedCell.test.tsx similarity index 100% rename from web/src/features/fbaCalculator/components/windSpeedCell.test.tsx rename to web/apps/wps-web/src/features/fbaCalculator/components/windSpeedCell.test.tsx diff --git a/web/src/features/fbaCalculator/fuelTypes.ts b/web/apps/wps-web/src/features/fbaCalculator/fuelTypes.ts similarity index 100% rename from web/src/features/fbaCalculator/fuelTypes.ts rename to web/apps/wps-web/src/features/fbaCalculator/fuelTypes.ts diff --git a/web/src/features/fbaCalculator/pages/FireBehaviourCalculatorPage.tsx b/web/apps/wps-web/src/features/fbaCalculator/pages/FireBehaviourCalculatorPage.tsx similarity index 100% rename from web/src/features/fbaCalculator/pages/FireBehaviourCalculatorPage.tsx rename to web/apps/wps-web/src/features/fbaCalculator/pages/FireBehaviourCalculatorPage.tsx diff --git a/web/src/features/fbaCalculator/rowManager.test.ts b/web/apps/wps-web/src/features/fbaCalculator/rowManager.test.ts similarity index 100% rename from web/src/features/fbaCalculator/rowManager.test.ts rename to web/apps/wps-web/src/features/fbaCalculator/rowManager.test.ts diff --git a/web/src/features/fbaCalculator/slices/fbaCalculatorSlice.ts b/web/apps/wps-web/src/features/fbaCalculator/slices/fbaCalculatorSlice.ts similarity index 100% rename from web/src/features/fbaCalculator/slices/fbaCalculatorSlice.ts rename to web/apps/wps-web/src/features/fbaCalculator/slices/fbaCalculatorSlice.ts diff --git a/web/src/features/fbaCalculator/tableState.ts b/web/apps/wps-web/src/features/fbaCalculator/tableState.ts similarity index 100% rename from web/src/features/fbaCalculator/tableState.ts rename to web/apps/wps-web/src/features/fbaCalculator/tableState.ts diff --git a/web/src/features/fbaCalculator/utils.ts b/web/apps/wps-web/src/features/fbaCalculator/utils.ts similarity index 100% rename from web/src/features/fbaCalculator/utils.ts rename to web/apps/wps-web/src/features/fbaCalculator/utils.ts diff --git a/web/src/features/fbaCalculator/validation.ts b/web/apps/wps-web/src/features/fbaCalculator/validation.ts similarity index 100% rename from web/src/features/fbaCalculator/validation.ts rename to web/apps/wps-web/src/features/fbaCalculator/validation.ts diff --git a/web/src/features/fireWatch/components/CreateFireWatch.tsx b/web/apps/wps-web/src/features/fireWatch/components/CreateFireWatch.tsx similarity index 100% rename from web/src/features/fireWatch/components/CreateFireWatch.tsx rename to web/apps/wps-web/src/features/fireWatch/components/CreateFireWatch.tsx diff --git a/web/src/features/fireWatch/components/DetailPanelContent.tsx b/web/apps/wps-web/src/features/fireWatch/components/DetailPanelContent.tsx similarity index 100% rename from web/src/features/fireWatch/components/DetailPanelContent.tsx rename to web/apps/wps-web/src/features/fireWatch/components/DetailPanelContent.tsx diff --git a/web/src/features/fireWatch/components/FireWatchDashboard.tsx b/web/apps/wps-web/src/features/fireWatch/components/FireWatchDashboard.tsx similarity index 100% rename from web/src/features/fireWatch/components/FireWatchDashboard.tsx rename to web/apps/wps-web/src/features/fireWatch/components/FireWatchDashboard.tsx diff --git a/web/src/features/fireWatch/components/FireWatchDetailsModal.tsx b/web/apps/wps-web/src/features/fireWatch/components/FireWatchDetailsModal.tsx similarity index 100% rename from web/src/features/fireWatch/components/FireWatchDetailsModal.tsx rename to web/apps/wps-web/src/features/fireWatch/components/FireWatchDetailsModal.tsx diff --git a/web/src/features/fireWatch/components/MenuHeader.tsx b/web/apps/wps-web/src/features/fireWatch/components/MenuHeader.tsx similarity index 100% rename from web/src/features/fireWatch/components/MenuHeader.tsx rename to web/apps/wps-web/src/features/fireWatch/components/MenuHeader.tsx diff --git a/web/src/features/fireWatch/components/NavigationDrawer.tsx b/web/apps/wps-web/src/features/fireWatch/components/NavigationDrawer.tsx similarity index 100% rename from web/src/features/fireWatch/components/NavigationDrawer.tsx rename to web/apps/wps-web/src/features/fireWatch/components/NavigationDrawer.tsx diff --git a/web/src/features/fireWatch/components/OptionalHeading.tsx b/web/apps/wps-web/src/features/fireWatch/components/OptionalHeading.tsx similarity index 100% rename from web/src/features/fireWatch/components/OptionalHeading.tsx rename to web/apps/wps-web/src/features/fireWatch/components/OptionalHeading.tsx diff --git a/web/src/features/fireWatch/components/detailPanelContent.test.tsx b/web/apps/wps-web/src/features/fireWatch/components/detailPanelContent.test.tsx similarity index 100% rename from web/src/features/fireWatch/components/detailPanelContent.test.tsx rename to web/apps/wps-web/src/features/fireWatch/components/detailPanelContent.test.tsx diff --git a/web/src/features/fireWatch/components/fireWatchDashboard.test.tsx b/web/apps/wps-web/src/features/fireWatch/components/fireWatchDashboard.test.tsx similarity index 100% rename from web/src/features/fireWatch/components/fireWatchDashboard.test.tsx rename to web/apps/wps-web/src/features/fireWatch/components/fireWatchDashboard.test.tsx diff --git a/web/src/features/fireWatch/components/steps/CompleteStep.tsx b/web/apps/wps-web/src/features/fireWatch/components/steps/CompleteStep.tsx similarity index 100% rename from web/src/features/fireWatch/components/steps/CompleteStep.tsx rename to web/apps/wps-web/src/features/fireWatch/components/steps/CompleteStep.tsx diff --git a/web/src/features/fireWatch/components/steps/FireBehaviourIndicesStep.tsx b/web/apps/wps-web/src/features/fireWatch/components/steps/FireBehaviourIndicesStep.tsx similarity index 100% rename from web/src/features/fireWatch/components/steps/FireBehaviourIndicesStep.tsx rename to web/apps/wps-web/src/features/fireWatch/components/steps/FireBehaviourIndicesStep.tsx diff --git a/web/src/features/fireWatch/components/steps/FuelStep.tsx b/web/apps/wps-web/src/features/fireWatch/components/steps/FuelStep.tsx similarity index 100% rename from web/src/features/fireWatch/components/steps/FuelStep.tsx rename to web/apps/wps-web/src/features/fireWatch/components/steps/FuelStep.tsx diff --git a/web/src/features/fireWatch/components/steps/InfoStep.tsx b/web/apps/wps-web/src/features/fireWatch/components/steps/InfoStep.tsx similarity index 100% rename from web/src/features/fireWatch/components/steps/InfoStep.tsx rename to web/apps/wps-web/src/features/fireWatch/components/steps/InfoStep.tsx diff --git a/web/src/features/fireWatch/components/steps/LocationStep.tsx b/web/apps/wps-web/src/features/fireWatch/components/steps/LocationStep.tsx similarity index 100% rename from web/src/features/fireWatch/components/steps/LocationStep.tsx rename to web/apps/wps-web/src/features/fireWatch/components/steps/LocationStep.tsx diff --git a/web/src/features/fireWatch/components/steps/ReviewSubmitStep.tsx b/web/apps/wps-web/src/features/fireWatch/components/steps/ReviewSubmitStep.tsx similarity index 100% rename from web/src/features/fireWatch/components/steps/ReviewSubmitStep.tsx rename to web/apps/wps-web/src/features/fireWatch/components/steps/ReviewSubmitStep.tsx diff --git a/web/src/features/fireWatch/components/steps/SummaryTextLine.tsx b/web/apps/wps-web/src/features/fireWatch/components/steps/SummaryTextLine.tsx similarity index 100% rename from web/src/features/fireWatch/components/steps/SummaryTextLine.tsx rename to web/apps/wps-web/src/features/fireWatch/components/steps/SummaryTextLine.tsx diff --git a/web/src/features/fireWatch/components/steps/WeatherParametersStep.tsx b/web/apps/wps-web/src/features/fireWatch/components/steps/WeatherParametersStep.tsx similarity index 100% rename from web/src/features/fireWatch/components/steps/WeatherParametersStep.tsx rename to web/apps/wps-web/src/features/fireWatch/components/steps/WeatherParametersStep.tsx diff --git a/web/src/features/fireWatch/constants.ts b/web/apps/wps-web/src/features/fireWatch/constants.ts similarity index 100% rename from web/src/features/fireWatch/constants.ts rename to web/apps/wps-web/src/features/fireWatch/constants.ts diff --git a/web/src/features/fireWatch/fireWatchApi.ts b/web/apps/wps-web/src/features/fireWatch/fireWatchApi.ts similarity index 100% rename from web/src/features/fireWatch/fireWatchApi.ts rename to web/apps/wps-web/src/features/fireWatch/fireWatchApi.ts diff --git a/web/src/features/fireWatch/interfaces.ts b/web/apps/wps-web/src/features/fireWatch/interfaces.ts similarity index 100% rename from web/src/features/fireWatch/interfaces.ts rename to web/apps/wps-web/src/features/fireWatch/interfaces.ts diff --git a/web/src/features/fireWatch/pages/FireWatchPage.tsx b/web/apps/wps-web/src/features/fireWatch/pages/FireWatchPage.tsx similarity index 100% rename from web/src/features/fireWatch/pages/FireWatchPage.tsx rename to web/apps/wps-web/src/features/fireWatch/pages/FireWatchPage.tsx diff --git a/web/src/features/fireWatch/slices/burnForecastSlice.ts b/web/apps/wps-web/src/features/fireWatch/slices/burnForecastSlice.ts similarity index 100% rename from web/src/features/fireWatch/slices/burnForecastSlice.ts rename to web/apps/wps-web/src/features/fireWatch/slices/burnForecastSlice.ts diff --git a/web/src/features/fireWatch/slices/fireWatchFireCentresSlice.ts b/web/apps/wps-web/src/features/fireWatch/slices/fireWatchFireCentresSlice.ts similarity index 100% rename from web/src/features/fireWatch/slices/fireWatchFireCentresSlice.ts rename to web/apps/wps-web/src/features/fireWatch/slices/fireWatchFireCentresSlice.ts diff --git a/web/src/features/fireWatch/slices/fireWatchSlice.ts b/web/apps/wps-web/src/features/fireWatch/slices/fireWatchSlice.ts similarity index 100% rename from web/src/features/fireWatch/slices/fireWatchSlice.ts rename to web/apps/wps-web/src/features/fireWatch/slices/fireWatchSlice.ts diff --git a/web/src/features/fireWatch/utils.ts b/web/apps/wps-web/src/features/fireWatch/utils.ts similarity index 100% rename from web/src/features/fireWatch/utils.ts rename to web/apps/wps-web/src/features/fireWatch/utils.ts diff --git a/web/src/features/fireWeather/components/AccuracyVariablePicker.tsx b/web/apps/wps-web/src/features/fireWeather/components/AccuracyVariablePicker.tsx similarity index 100% rename from web/src/features/fireWeather/components/AccuracyVariablePicker.tsx rename to web/apps/wps-web/src/features/fireWeather/components/AccuracyVariablePicker.tsx diff --git a/web/src/features/fireWeather/components/maps/FireIndicesVectorLayer.tsx b/web/apps/wps-web/src/features/fireWeather/components/maps/FireIndicesVectorLayer.tsx similarity index 100% rename from web/src/features/fireWeather/components/maps/FireIndicesVectorLayer.tsx rename to web/apps/wps-web/src/features/fireWeather/components/maps/FireIndicesVectorLayer.tsx diff --git a/web/src/features/fireWeather/components/maps/WeatherMap.tsx b/web/apps/wps-web/src/features/fireWeather/components/maps/WeatherMap.tsx similarity index 100% rename from web/src/features/fireWeather/components/maps/WeatherMap.tsx rename to web/apps/wps-web/src/features/fireWeather/components/maps/WeatherMap.tsx diff --git a/web/src/features/fireWeather/components/maps/constants.ts b/web/apps/wps-web/src/features/fireWeather/components/maps/constants.ts similarity index 100% rename from web/src/features/fireWeather/components/maps/constants.ts rename to web/apps/wps-web/src/features/fireWeather/components/maps/constants.ts diff --git a/web/src/features/fireWeather/components/maps/stationAccuracy.test.ts b/web/apps/wps-web/src/features/fireWeather/components/maps/stationAccuracy.test.ts similarity index 100% rename from web/src/features/fireWeather/components/maps/stationAccuracy.test.ts rename to web/apps/wps-web/src/features/fireWeather/components/maps/stationAccuracy.test.ts diff --git a/web/src/features/fireWeather/components/maps/stationAccuracy.ts b/web/apps/wps-web/src/features/fireWeather/components/maps/stationAccuracy.ts similarity index 100% rename from web/src/features/fireWeather/components/maps/stationAccuracy.ts rename to web/apps/wps-web/src/features/fireWeather/components/maps/stationAccuracy.ts diff --git a/web/src/features/hfiCalculator/components/AboutDataModal.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/AboutDataModal.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/AboutDataModal.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/AboutDataModal.tsx diff --git a/web/src/features/hfiCalculator/components/BaseStationAttributeCells.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/BaseStationAttributeCells.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/BaseStationAttributeCells.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/BaseStationAttributeCells.tsx diff --git a/web/src/features/hfiCalculator/components/CalculatedCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/CalculatedCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/CalculatedCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/CalculatedCell.tsx diff --git a/web/src/features/hfiCalculator/components/CalculatedPlanningAreaCells.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/CalculatedPlanningAreaCells.tsx similarity index 94% rename from web/src/features/hfiCalculator/components/CalculatedPlanningAreaCells.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/CalculatedPlanningAreaCells.tsx index 1d630acdd3..a3c340084e 100644 --- a/web/src/features/hfiCalculator/components/CalculatedPlanningAreaCells.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/CalculatedPlanningAreaCells.tsx @@ -1,11 +1,10 @@ import { TableCell } from '@mui/material' -import { FuelType, PlanningArea } from 'api/hfiCalculatorAPI' +import { FireStartRange, FuelType, PlanningArea, PlanningAreaResult, StationInfo } from 'api/hfiCalculatorAPI' import MeanIntensityGroupRollup from 'features/hfiCalculator/components/MeanIntensityGroupRollup' import PrepLevelCell from 'features/hfiCalculator/components/PrepLevelCell' import { range } from 'lodash' import React from 'react' import MeanPrepLevelCell from './MeanPrepLevelCell' -import { FireStartRange, PlanningAreaResult, StationInfo } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import FireStartsDropdown from 'features/hfiCalculator/components/FireStartsDropdown' import { PlanningAreaTableCell } from 'features/hfiCalculator/components/StyledPlanningAreaComponents' diff --git a/web/src/features/hfiCalculator/components/DailyHFICell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/DailyHFICell.tsx similarity index 87% rename from web/src/features/hfiCalculator/components/DailyHFICell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/DailyHFICell.tsx index 08e2a0092f..7ed221265c 100644 --- a/web/src/features/hfiCalculator/components/DailyHFICell.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/DailyHFICell.tsx @@ -1,4 +1,4 @@ -import HFICell from 'components/HFICell' +import HFICell from 'features/fbaCalculator/components/HFICell' import CalculatedCell from 'features/hfiCalculator/components/CalculatedCell' import React from 'react' diff --git a/web/src/features/hfiCalculator/components/DailyViewTable.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/DailyViewTable.tsx similarity index 99% rename from web/src/features/hfiCalculator/components/DailyViewTable.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/DailyViewTable.tsx index 9de391f316..12a94766e9 100644 --- a/web/src/features/hfiCalculator/components/DailyViewTable.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/DailyViewTable.tsx @@ -2,7 +2,7 @@ import React from 'react' import { Table, TableBody, TableCell, TableHead, TableRow, Tooltip } from '@mui/material' import { useSelector } from 'react-redux' import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined' -import { FireCentre, FuelType, StationDaily } from 'api/hfiCalculatorAPI' +import { DailyResult, FireCentre, FuelType, PlanningAreaResult, StationDaily, StationInfo } from 'api/hfiCalculatorAPI' import { isValidGrassCure } from 'features/hfiCalculator/validation' import MeanIntensityGroupRollup from 'features/hfiCalculator/components/MeanIntensityGroupRollup' import FireTable from 'components/FireTable' @@ -20,7 +20,6 @@ import { DateTime } from 'luxon' import { isUndefined, sortBy } from 'lodash' import CalculatedCell from 'features/hfiCalculator/components/CalculatedCell' import IntensityGroupCell from 'features/hfiCalculator/components/IntensityGroupCell' -import { DailyResult, PlanningAreaResult, StationInfo } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import { RequiredDataCell } from 'features/hfiCalculator/components/RequiredDataCell' import EmptyFireCentreRow from 'features/hfiCalculator/components/EmptyFireCentre' import { DailyHFICell } from 'features/hfiCalculator/components/DailyHFICell' diff --git a/web/src/features/hfiCalculator/components/DangerClassCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/DangerClassCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/DangerClassCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/DangerClassCell.tsx diff --git a/web/src/features/hfiCalculator/components/DayHeaders.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/DayHeaders.test.tsx similarity index 95% rename from web/src/features/hfiCalculator/components/DayHeaders.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/DayHeaders.test.tsx index d9f1aae5b2..f42f94d97c 100644 --- a/web/src/features/hfiCalculator/components/DayHeaders.test.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/DayHeaders.test.tsx @@ -3,7 +3,7 @@ import { render } from '@testing-library/react' import DayHeaders from 'features/hfiCalculator/components/DayHeaders' import { DateTime } from 'luxon' import { range } from 'lodash' -import { PrepDateRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { PrepDateRange } from 'api/hfiCalculatorAPI' import { calculateNumPrepDays } from 'features/hfiCalculator/util' import { pstFormatter } from 'utils/date' diff --git a/web/src/features/hfiCalculator/components/DayHeaders.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/DayHeaders.tsx similarity index 96% rename from web/src/features/hfiCalculator/components/DayHeaders.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/DayHeaders.tsx index e5afbda49f..d545a0da56 100644 --- a/web/src/features/hfiCalculator/components/DayHeaders.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/DayHeaders.tsx @@ -6,7 +6,7 @@ import { StickyCellRightBorderOnly, TableCellLeftBorder } from 'features/hfiCalculator/components/StyledPlanningAreaComponents' -import { PrepDateRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { PrepDateRange } from 'api/hfiCalculatorAPI' import { calculateNumPrepDays } from 'features/hfiCalculator/util' import { isUndefined, range } from 'lodash' import { DateTime } from 'luxon' diff --git a/web/src/features/hfiCalculator/components/DayIndexHeaders.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/DayIndexHeaders.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/DayIndexHeaders.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/DayIndexHeaders.tsx diff --git a/web/src/features/hfiCalculator/components/DownloadPDFButton.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/DownloadPDFButton.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/DownloadPDFButton.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/DownloadPDFButton.tsx diff --git a/web/src/features/hfiCalculator/components/EmptyFireCentre.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/EmptyFireCentre.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/EmptyFireCentre.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/EmptyFireCentre.tsx diff --git a/web/src/features/hfiCalculator/components/EmptyStaticCells.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/EmptyStaticCells.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/EmptyStaticCells.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/EmptyStaticCells.tsx diff --git a/web/src/features/hfiCalculator/components/ErrorIconWithTooltip.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/ErrorIconWithTooltip.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/ErrorIconWithTooltip.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/ErrorIconWithTooltip.tsx diff --git a/web/src/features/hfiCalculator/components/FireCentreCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/FireCentreCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/FireCentreCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/FireCentreCell.tsx diff --git a/web/src/features/hfiCalculator/components/FireCentreDropdown.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/FireCentreDropdown.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/FireCentreDropdown.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/FireCentreDropdown.tsx diff --git a/web/src/features/hfiCalculator/components/FireStartsCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/FireStartsCell.tsx similarity index 89% rename from web/src/features/hfiCalculator/components/FireStartsCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/FireStartsCell.tsx index 4790c864ca..d7fbc91148 100644 --- a/web/src/features/hfiCalculator/components/FireStartsCell.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/FireStartsCell.tsx @@ -1,7 +1,7 @@ import { styled } from '@mui/material' import { BACKGROUND_COLOR } from 'app/theme' import { CalculatedPlanningCell } from 'features/hfiCalculator/components/StyledPlanningAreaComponents' -import { FireStartRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { FireStartRange } from 'api/hfiCalculatorAPI' import React from 'react' export interface FireStartsCellProps { diff --git a/web/src/features/hfiCalculator/components/FireStartsDropdown.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/FireStartsDropdown.tsx similarity index 94% rename from web/src/features/hfiCalculator/components/FireStartsDropdown.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/FireStartsDropdown.tsx index 2a086b0c8b..63bd60c216 100644 --- a/web/src/features/hfiCalculator/components/FireStartsDropdown.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/FireStartsDropdown.tsx @@ -1,6 +1,6 @@ import { TextField, Autocomplete } from '@mui/material' import { styled } from '@mui/material/styles' -import { FireStartRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { FireStartRange } from 'api/hfiCalculatorAPI' import { isEqual, isNull } from 'lodash' import React from 'react' diff --git a/web/src/features/hfiCalculator/components/FuelTypeDropdown.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/FuelTypeDropdown.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/FuelTypeDropdown.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/FuelTypeDropdown.tsx diff --git a/web/src/features/hfiCalculator/components/GrassCureCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/GrassCureCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/GrassCureCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/GrassCureCell.tsx diff --git a/web/src/features/hfiCalculator/components/HFIErrorAlert.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/HFIErrorAlert.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/HFIErrorAlert.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/HFIErrorAlert.tsx diff --git a/web/src/features/hfiCalculator/components/HFILoadingDataContainer.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/HFILoadingDataContainer.tsx similarity index 94% rename from web/src/features/hfiCalculator/components/HFILoadingDataContainer.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/HFILoadingDataContainer.tsx index 883cedf91f..9e3f8bf374 100644 --- a/web/src/features/hfiCalculator/components/HFILoadingDataContainer.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/HFILoadingDataContainer.tsx @@ -1,6 +1,5 @@ import { Table, TableBody } from '@mui/material' -import { FireCentre } from 'api/hfiCalculatorAPI' -import { PrepDateRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { FireCentre, PrepDateRange } from 'api/hfiCalculatorAPI' import EmptyFireCentreRow from 'features/hfiCalculator/components/EmptyFireCentre' import { isUndefined, isNull } from 'lodash' import React from 'react' diff --git a/web/src/features/hfiCalculator/components/HFIPageSubHeader.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/HFIPageSubHeader.tsx similarity index 95% rename from web/src/features/hfiCalculator/components/HFIPageSubHeader.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/HFIPageSubHeader.tsx index 9c8e0c5b2b..0536bcd21b 100644 --- a/web/src/features/hfiCalculator/components/HFIPageSubHeader.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/HFIPageSubHeader.tsx @@ -2,11 +2,10 @@ import React, { useState } from 'react' import { Button, FormControl, styled } from '@mui/material' import FireCentreDropdown from 'features/hfiCalculator/components/FireCentreDropdown' import { isUndefined } from 'lodash' -import { FireCentre } from 'api/hfiCalculatorAPI' +import { FireCentre, HFIResultResponse } from 'api/hfiCalculatorAPI' import AboutDataModal from 'features/hfiCalculator/components/AboutDataModal' import { HelpOutlineOutlined } from '@mui/icons-material' import { theme } from 'app/theme' -import { HFIResultResponse } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import { DateRange } from 'components/dateRangePicker/types' import PrepDateRangeSelector from 'features/hfiCalculator/components/PrepDateRangeSelector' import LoggedInStatus from 'features/hfiCalculator/components/stationAdmin/LoggedInStatus' diff --git a/web/src/features/hfiCalculator/components/HFISuccessAlert.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/HFISuccessAlert.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/HFISuccessAlert.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/HFISuccessAlert.tsx diff --git a/web/src/features/hfiCalculator/components/HeaderRowCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/HeaderRowCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/HeaderRowCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/HeaderRowCell.tsx diff --git a/web/src/features/hfiCalculator/components/HighestDailyFIGCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/HighestDailyFIGCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/HighestDailyFIGCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/HighestDailyFIGCell.tsx diff --git a/web/src/features/hfiCalculator/components/IntensityGroupCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/IntensityGroupCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/IntensityGroupCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/IntensityGroupCell.tsx diff --git a/web/src/features/hfiCalculator/components/LastUpdatedHeader.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/LastUpdatedHeader.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/LastUpdatedHeader.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/LastUpdatedHeader.tsx diff --git a/web/src/features/hfiCalculator/components/LoadingBackdrop.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/LoadingBackdrop.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/LoadingBackdrop.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/LoadingBackdrop.tsx diff --git a/web/src/features/hfiCalculator/components/MeanIntensityGroupRollup.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/MeanIntensityGroupRollup.tsx similarity index 94% rename from web/src/features/hfiCalculator/components/MeanIntensityGroupRollup.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/MeanIntensityGroupRollup.tsx index 46c7022591..3e8330cf4d 100644 --- a/web/src/features/hfiCalculator/components/MeanIntensityGroupRollup.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/MeanIntensityGroupRollup.tsx @@ -2,10 +2,9 @@ import { TableCell } from '@mui/material' import { isUndefined, isNull } from 'lodash' import React from 'react' import { isValidGrassCure } from 'features/hfiCalculator/validation' -import { StationDaily, PlanningArea, FuelType } from 'api/hfiCalculatorAPI' +import { StationDaily, PlanningArea, FuelType, StationInfo } from 'api/hfiCalculatorAPI' import { getSelectedFuelType } from 'features/hfiCalculator/util' import ErrorIconWithTooltip from 'features/hfiCalculator/components/ErrorIconWithTooltip' -import { StationInfo } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import { CalculatedPlanningCell } from 'features/hfiCalculator/components/StyledPlanningAreaComponents' export interface MeanIntensityGroupRollupProps { diff --git a/web/src/features/hfiCalculator/components/MeanPrepLevelCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/MeanPrepLevelCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/MeanPrepLevelCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/MeanPrepLevelCell.tsx diff --git a/web/src/features/hfiCalculator/components/PlanningAreaReadyToggle.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/PlanningAreaReadyToggle.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/PlanningAreaReadyToggle.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/PlanningAreaReadyToggle.tsx diff --git a/web/src/features/hfiCalculator/components/PrepDateRangeSelector.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/PrepDateRangeSelector.tsx similarity index 98% rename from web/src/features/hfiCalculator/components/PrepDateRangeSelector.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/PrepDateRangeSelector.tsx index 2ab9885077..ab69a08437 100644 --- a/web/src/features/hfiCalculator/components/PrepDateRangeSelector.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/PrepDateRangeSelector.tsx @@ -12,7 +12,7 @@ import { styled } from '@mui/material/styles' import * as materialIcons from '@mui/icons-material' import DateRangePickerWrapper from 'components/dateRangePicker/DateRangePickerWrapper' import { DateRange } from 'components/dateRangePicker/types' -import { PrepDateRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { PrepDateRange } from 'api/hfiCalculatorAPI' import { isUndefined } from 'lodash' import { DateTime } from 'luxon' import React, { useState } from 'react' diff --git a/web/src/features/hfiCalculator/components/PrepLevelCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/PrepLevelCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/PrepLevelCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/PrepLevelCell.tsx diff --git a/web/src/features/hfiCalculator/components/RequiredDataCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/RequiredDataCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/RequiredDataCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/RequiredDataCell.tsx diff --git a/web/src/features/hfiCalculator/components/StaticCells.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/StaticCells.tsx similarity index 97% rename from web/src/features/hfiCalculator/components/StaticCells.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/StaticCells.tsx index 5e4fb9c9c7..8310d43a7f 100644 --- a/web/src/features/hfiCalculator/components/StaticCells.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/StaticCells.tsx @@ -1,6 +1,6 @@ import { TableCell } from '@mui/material' import { FuelType, StationDaily, WeatherStation } from 'api/hfiCalculatorAPI' -import HFICell from 'components/HFICell' +import HFICell from 'features/fbaCalculator/components/HFICell' import EmptyStaticCells from 'features/hfiCalculator/components/EmptyStaticCells' import HighestDailyFIGCell from 'features/hfiCalculator/components/HighestDailyFIGCell' import IntensityGroupCell from 'features/hfiCalculator/components/IntensityGroupCell' diff --git a/web/src/features/hfiCalculator/components/StationDataHeaderCells.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/StationDataHeaderCells.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/StationDataHeaderCells.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/StationDataHeaderCells.tsx diff --git a/web/src/features/hfiCalculator/components/StationSelectCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/StationSelectCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/StationSelectCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/StationSelectCell.tsx diff --git a/web/src/features/hfiCalculator/components/StatusCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/StatusCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/StatusCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/StatusCell.tsx diff --git a/web/src/features/hfiCalculator/components/StyledFireComponents.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/StyledFireComponents.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/StyledFireComponents.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/StyledFireComponents.tsx diff --git a/web/src/features/hfiCalculator/components/StyledPlanningAreaComponents.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/StyledPlanningAreaComponents.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/StyledPlanningAreaComponents.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/StyledPlanningAreaComponents.tsx diff --git a/web/src/features/hfiCalculator/components/StyledTableComponents.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/StyledTableComponents.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/StyledTableComponents.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/StyledTableComponents.tsx diff --git a/web/src/features/hfiCalculator/components/ViewSwitcher.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/ViewSwitcher.tsx similarity index 90% rename from web/src/features/hfiCalculator/components/ViewSwitcher.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/ViewSwitcher.tsx index 4b8723d4f3..65d74d207e 100644 --- a/web/src/features/hfiCalculator/components/ViewSwitcher.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/ViewSwitcher.tsx @@ -1,7 +1,6 @@ -import { FireCentre, FuelType } from 'api/hfiCalculatorAPI' +import { FireCentre, FireStartRange, FuelType, PrepDateRange, StationInfo } from 'api/hfiCalculatorAPI' import { DailyViewTable } from 'features/hfiCalculator/components/DailyViewTable' import WeeklyViewTable from 'features/hfiCalculator/components/WeeklyViewTable' -import { FireStartRange, PrepDateRange, StationInfo } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import React from 'react' export interface ViewSwitcherProps { diff --git a/web/src/features/hfiCalculator/components/ViewSwitcherToggles.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/ViewSwitcherToggles.tsx similarity index 95% rename from web/src/features/hfiCalculator/components/ViewSwitcherToggles.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/ViewSwitcherToggles.tsx index c1b8d93d58..7b4a40a0e0 100644 --- a/web/src/features/hfiCalculator/components/ViewSwitcherToggles.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/ViewSwitcherToggles.tsx @@ -5,7 +5,8 @@ import { theme } from 'app/theme' import React from 'react' import { pstFormatter } from 'utils/date' import { useDispatch } from 'react-redux' -import { PrepDateRange, setSelectedPrepDate } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { PrepDateRange } from 'api/hfiCalculatorAPI' +import { setSelectedPrepDate } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import { DateTime } from 'luxon' const PREFIX = 'ViewSwitcherToggles' diff --git a/web/src/features/hfiCalculator/components/WeeklyROSCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/WeeklyROSCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/WeeklyROSCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/WeeklyROSCell.tsx diff --git a/web/src/features/hfiCalculator/components/WeeklyViewTable.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/WeeklyViewTable.tsx similarity index 98% rename from web/src/features/hfiCalculator/components/WeeklyViewTable.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/WeeklyViewTable.tsx index 09d30caed7..10839ffa60 100644 --- a/web/src/features/hfiCalculator/components/WeeklyViewTable.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/WeeklyViewTable.tsx @@ -1,7 +1,7 @@ import React from 'react' import { Table, TableBody, TableCell, TableHead, TableRow } from '@mui/material' -import { FireCentre, FuelType } from 'api/hfiCalculatorAPI' +import { FireCentre, FireStartRange, FuelType, PlanningAreaResult, PrepDateRange } from 'api/hfiCalculatorAPI' import FireTable from 'components/FireTable' import DayHeaders from 'features/hfiCalculator/components/DayHeaders' import DayIndexHeaders from 'features/hfiCalculator/components/DayIndexHeaders' @@ -20,7 +20,6 @@ import StickyCell from 'components/StickyCell' import FireCentreCell from 'features/hfiCalculator/components/FireCentreCell' import { selectAuthentication, selectHFICalculatorState, selectHFIReadyState } from 'app/rootReducer' import { useDispatch, useSelector } from 'react-redux' -import { FireStartRange, PlanningAreaResult, PrepDateRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import EmptyFireCentreRow from 'features/hfiCalculator/components/EmptyFireCentre' import { FireCentrePlanningAreaHeaderRowCell } from 'features/hfiCalculator/components/HeaderRowCell' import { StationDataHeaderCells } from 'features/hfiCalculator/components/StationDataHeaderCells' diff --git a/web/src/features/hfiCalculator/components/WindDirectionCell.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/WindDirectionCell.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/WindDirectionCell.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/WindDirectionCell.tsx diff --git a/web/src/features/hfiCalculator/components/dailyHFICell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/dailyHFICell.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/dailyHFICell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/dailyHFICell.test.tsx diff --git a/web/src/features/hfiCalculator/components/dayIndexHeaders.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/dayIndexHeaders.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/dayIndexHeaders.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/dayIndexHeaders.test.tsx diff --git a/web/src/features/hfiCalculator/components/emptyFireCentre.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/emptyFireCentre.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/emptyFireCentre.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/emptyFireCentre.test.tsx diff --git a/web/src/features/hfiCalculator/components/fireStartsDropdown.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/fireStartsDropdown.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/fireStartsDropdown.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/fireStartsDropdown.test.tsx diff --git a/web/src/features/hfiCalculator/components/fuelTypeDropdown.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/fuelTypeDropdown.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/fuelTypeDropdown.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/fuelTypeDropdown.test.tsx diff --git a/web/src/features/hfiCalculator/components/grassCureCell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/grassCureCell.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/grassCureCell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/grassCureCell.test.tsx diff --git a/web/src/features/hfiCalculator/components/headerRowCell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/headerRowCell.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/headerRowCell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/headerRowCell.test.tsx diff --git a/web/src/features/hfiCalculator/components/hfiErrorAlert.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/hfiErrorAlert.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/hfiErrorAlert.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/hfiErrorAlert.test.tsx diff --git a/web/src/features/hfiCalculator/components/hfiLoadingDataView.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/hfiLoadingDataView.test.tsx similarity index 97% rename from web/src/features/hfiCalculator/components/hfiLoadingDataView.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/hfiLoadingDataView.test.tsx index 0e84f7f4ef..5fae535d7a 100644 --- a/web/src/features/hfiCalculator/components/hfiLoadingDataView.test.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/hfiLoadingDataView.test.tsx @@ -1,7 +1,6 @@ import { render } from '@testing-library/react' -import { FireCentre } from 'api/hfiCalculatorAPI' +import { FireCentre, PrepDateRange } from 'api/hfiCalculatorAPI' import HFILoadingDataContainer from 'features/hfiCalculator/components/HFILoadingDataContainer' -import { PrepDateRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' describe('HFILoadingDataView', () => { diff --git a/web/src/features/hfiCalculator/components/intensityGroupCell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/intensityGroupCell.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/intensityGroupCell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/intensityGroupCell.test.tsx diff --git a/web/src/features/hfiCalculator/components/meanIntensityGroupRollup.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/meanIntensityGroupRollup.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/meanIntensityGroupRollup.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/meanIntensityGroupRollup.test.tsx diff --git a/web/src/features/hfiCalculator/components/meanPrepLevelCell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/meanPrepLevelCell.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/meanPrepLevelCell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/meanPrepLevelCell.test.tsx diff --git a/web/src/features/hfiCalculator/components/planningAreaReadyToggle.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/planningAreaReadyToggle.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/planningAreaReadyToggle.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/planningAreaReadyToggle.test.tsx diff --git a/web/src/features/hfiCalculator/components/prepLevelCell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/prepLevelCell.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/prepLevelCell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/prepLevelCell.test.tsx diff --git a/web/src/features/hfiCalculator/components/staticCells.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/staticCells.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/staticCells.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/staticCells.test.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/AdminCancelButton.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/AdminCancelButton.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/AdminCancelButton.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/AdminCancelButton.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/AdminFuelTypesDropdown.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/AdminFuelTypesDropdown.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/AdminFuelTypesDropdown.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/AdminFuelTypesDropdown.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/AdminRemoveButton.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/AdminRemoveButton.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/AdminRemoveButton.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/AdminRemoveButton.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/AdminStationDropdown.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/AdminStationDropdown.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/AdminStationDropdown.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/AdminStationDropdown.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/ExistingStationList.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/ExistingStationList.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/ExistingStationList.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/ExistingStationList.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/LoggedInStatus.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/LoggedInStatus.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/LoggedInStatus.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/LoggedInStatus.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/ManageStationsButton.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/ManageStationsButton.tsx similarity index 89% rename from web/src/features/hfiCalculator/components/stationAdmin/ManageStationsButton.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/ManageStationsButton.tsx index 7dd78505cc..28b3a5ecb9 100644 --- a/web/src/features/hfiCalculator/components/stationAdmin/ManageStationsButton.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/ManageStationsButton.tsx @@ -2,8 +2,7 @@ import React, { useState } from 'react' import SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined' import { Button } from '@mui/material' import ManageStationsModal from 'features/hfiCalculator/components/stationAdmin/ManageStationsModal' -import { PlanningArea } from 'api/hfiCalculatorAPI' -import { StationInfo } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { PlanningArea, StationInfo } from 'api/hfiCalculatorAPI' export interface ManageStationsButtonProps { planningAreas?: PlanningArea[] diff --git a/web/src/features/hfiCalculator/components/stationAdmin/ManageStationsModal.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/ManageStationsModal.tsx similarity index 90% rename from web/src/features/hfiCalculator/components/stationAdmin/ManageStationsModal.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/ManageStationsModal.tsx index f22df0e8c0..785c659215 100644 --- a/web/src/features/hfiCalculator/components/stationAdmin/ManageStationsModal.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/ManageStationsModal.tsx @@ -4,9 +4,10 @@ import { Dialog, DialogContent, IconButton, Paper, Typography } from '@mui/mater import ClearIcon from '@mui/icons-material/Clear' import { useDispatch, useSelector } from 'react-redux' import { selectFireWeatherStations, selectHFICalculatorState } from 'app/rootReducer' -import { setStationsUpdatedFailed, StationInfo } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { setStationsUpdatedFailed } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { BasicPlanningArea, BasicWFWXStation, FuelType, PlanningArea, StationAdminRow, StationInfo } from 'api/hfiCalculatorAPI' import { AppDispatch } from 'app/store' -import { FuelType, PlanningArea } from 'api/hfiCalculatorAPI' +export type { BasicPlanningArea, BasicWFWXStation, StationAdminRow } from 'api/hfiCalculatorAPI' import { groupBy, isNull, isUndefined, sortBy } from 'lodash' import { fetchWxStations } from 'features/stations/slices/stationsSlice' import { getStations, StationSource } from 'api/stationAPI' @@ -23,28 +24,12 @@ const CloseIconButton = styled(IconButton, { right: '0px' }) -export interface BasicPlanningArea { - id: number - name: string -} -export interface BasicWFWXStation { - code: number - name: string -} - export interface AddStationOptions { planningAreaOptions: BasicPlanningArea[] stationOptions: BasicWFWXStation[] fuelTypeOptions: FuelType[] } -export interface StationAdminRow { - planningAreaId: number - rowId: number - station?: BasicWFWXStation - fuelType?: Pick -} - export interface AddStationModalProps { testId?: string planningAreas?: PlanningArea[] diff --git a/web/src/features/hfiCalculator/components/stationAdmin/NewStationList.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/NewStationList.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/NewStationList.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/NewStationList.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/PlanningAreaAdmin.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/PlanningAreaAdmin.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/PlanningAreaAdmin.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/PlanningAreaAdmin.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/SaveStationUpdatesButton.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/SaveStationUpdatesButton.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/SaveStationUpdatesButton.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/SaveStationUpdatesButton.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/StationListAdmin.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/StationListAdmin.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/StationListAdmin.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/StationListAdmin.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/adminFuelTypeDropdown.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/adminFuelTypeDropdown.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/adminFuelTypeDropdown.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/adminFuelTypeDropdown.test.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/adminRemoveButton.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/adminRemoveButton.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/adminRemoveButton.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/adminRemoveButton.test.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/adminStationDropdown.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/adminStationDropdown.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/adminStationDropdown.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/adminStationDropdown.test.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/loggedInStatus.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/loggedInStatus.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/loggedInStatus.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/loggedInStatus.test.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/manageStationsButton.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/manageStationsButton.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/manageStationsButton.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/manageStationsButton.test.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/planningAreaAdmin.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/planningAreaAdmin.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/planningAreaAdmin.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/planningAreaAdmin.test.tsx diff --git a/web/src/features/hfiCalculator/components/stationAdmin/saveStationUpdatesButton.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/saveStationUpdatesButton.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationAdmin/saveStationUpdatesButton.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationAdmin/saveStationUpdatesButton.test.tsx diff --git a/web/src/features/hfiCalculator/components/stationSelectCell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/stationSelectCell.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/stationSelectCell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/stationSelectCell.test.tsx diff --git a/web/src/features/hfiCalculator/components/statusCell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/statusCell.test.tsx similarity index 94% rename from web/src/features/hfiCalculator/components/statusCell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/statusCell.test.tsx index 22ef4aca9c..8371931fd3 100644 --- a/web/src/features/hfiCalculator/components/statusCell.test.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/components/statusCell.test.tsx @@ -1,8 +1,7 @@ import { TableContainer, Table, TableRow, TableBody } from '@mui/material' import { render } from '@testing-library/react' -import { StationDaily } from 'api/hfiCalculatorAPI' +import { StationDaily, ValidatedStationDaily } from 'api/hfiCalculatorAPI' import StatusCell from 'features/hfiCalculator/components/StatusCell' -import { ValidatedStationDaily } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import { DateTime } from 'luxon' describe('StatusCell', () => { diff --git a/web/src/features/hfiCalculator/components/testHelpers.ts b/web/apps/wps-web/src/features/hfiCalculator/components/testHelpers.ts similarity index 100% rename from web/src/features/hfiCalculator/components/testHelpers.ts rename to web/apps/wps-web/src/features/hfiCalculator/components/testHelpers.ts diff --git a/web/src/features/hfiCalculator/components/weeklyRosCell.test.tsx b/web/apps/wps-web/src/features/hfiCalculator/components/weeklyRosCell.test.tsx similarity index 100% rename from web/src/features/hfiCalculator/components/weeklyRosCell.test.tsx rename to web/apps/wps-web/src/features/hfiCalculator/components/weeklyRosCell.test.tsx diff --git a/web/src/features/hfiCalculator/constants.ts b/web/apps/wps-web/src/features/hfiCalculator/constants.ts similarity index 100% rename from web/src/features/hfiCalculator/constants.ts rename to web/apps/wps-web/src/features/hfiCalculator/constants.ts diff --git a/web/src/features/hfiCalculator/pages/HfiCalculatorPage.tsx b/web/apps/wps-web/src/features/hfiCalculator/pages/HfiCalculatorPage.tsx similarity index 99% rename from web/src/features/hfiCalculator/pages/HfiCalculatorPage.tsx rename to web/apps/wps-web/src/features/hfiCalculator/pages/HfiCalculatorPage.tsx index 7c93c7997b..e0484bd1a1 100644 --- a/web/src/features/hfiCalculator/pages/HfiCalculatorPage.tsx +++ b/web/apps/wps-web/src/features/hfiCalculator/pages/HfiCalculatorPage.tsx @@ -2,8 +2,8 @@ import React, { useEffect } from 'react' import { DateTime } from 'luxon' import { Container, ErrorBoundary, GeneralHeader } from 'components' import { fetchHFIStations } from 'features/hfiCalculator/slices/stationsSlice' +import { FireCentre, FireStartRange } from 'api/hfiCalculatorAPI' import { - FireStartRange, setSelectedFireCentre, fetchSetNewFireStarts, fetchGetPrepDateRange, @@ -25,7 +25,6 @@ import { import { FormControl, styled } from '@mui/material' import ViewSwitcher from 'features/hfiCalculator/components/ViewSwitcher' import ViewSwitcherToggles from 'features/hfiCalculator/components/ViewSwitcherToggles' -import { FireCentre } from 'api/hfiCalculatorAPI' import { HFIPageSubHeader } from 'features/hfiCalculator/components/HFIPageSubHeader' import { isNull, isUndefined } from 'lodash' import HFISuccessAlert from 'features/hfiCalculator/components/HFISuccessAlert' diff --git a/web/src/features/hfiCalculator/slices/hfiCalculatorSlice.test.ts b/web/apps/wps-web/src/features/hfiCalculator/slices/hfiCalculatorSlice.test.ts similarity index 100% rename from web/src/features/hfiCalculator/slices/hfiCalculatorSlice.test.ts rename to web/apps/wps-web/src/features/hfiCalculator/slices/hfiCalculatorSlice.test.ts diff --git a/web/src/features/hfiCalculator/slices/hfiCalculatorSlice.ts b/web/apps/wps-web/src/features/hfiCalculator/slices/hfiCalculatorSlice.ts similarity index 82% rename from web/src/features/hfiCalculator/slices/hfiCalculatorSlice.ts rename to web/apps/wps-web/src/features/hfiCalculator/slices/hfiCalculatorSlice.ts index 996105b32d..1d831dd5b5 100644 --- a/web/src/features/hfiCalculator/slices/hfiCalculatorSlice.ts +++ b/web/apps/wps-web/src/features/hfiCalculator/slices/hfiCalculatorSlice.ts @@ -9,61 +9,21 @@ import { getPrepDateRange, setStationSelected, getPDF, - RawDaily, - StationDaily, getFuelTypes, FuelType, FireCentre, FuelTypesResponse, - updateStations + updateStations, + FireStartRange, + PrepDateRange, + PlanningAreaResult, + HFIResultResponse } from 'api/hfiCalculatorAPI' -import { DateTime } from 'luxon' + import { AddStationOptions, StationAdminRow } from 'features/hfiCalculator/components/stationAdmin/ManageStationsModal' import { isUndefined } from 'lodash' import axios from 'axios' -export interface FireStartRange { - label: string - id: number -} - -export interface PrepDateRange { - start_date: string - end_date: string -} - -export interface DailyResult { - date: DateTime - dailies: ValidatedStationDaily[] - mean_intensity_group: number | undefined - prep_level: number | undefined - fire_starts: FireStartRange -} - -export interface RawDailyResult { - date: string - dailies: RawValidatedStationDaily[] - mean_intensity_group: number | undefined - prep_level: number | undefined - fire_starts: FireStartRange -} - -export interface PlanningAreaResult { - planning_area_id: number - all_dailies_valid: boolean - highest_daily_intensity_group: number - mean_prep_level: number | undefined - daily_results: DailyResult[] -} - -export interface RawPlanningAreaResult { - planning_area_id: number - all_dailies_valid: boolean - highest_daily_intensity_group: number - mean_prep_level: number | undefined - daily_results: RawDailyResult[] -} - export interface HFICalculatorState { pdfLoading: boolean fireCentresLoading: boolean @@ -83,44 +43,12 @@ export interface HFICalculatorState { updatedPlanningAreaId: UpdatedPlanningAreaId | null } -export interface StationInfo { - station_code: number - selected: boolean - fuel_type_id: number -} - -export interface HFIResultResponse { - date_range: PrepDateRange - selected_fire_center_id: number - planning_area_station_info: { [key: number]: StationInfo[] } - planning_area_hfi_results: PlanningAreaResult[] - fire_start_ranges: FireStartRange[] -} - -export interface RawHFIResultResponse { - date_range: PrepDateRange - selected_fire_center_id: number - planning_area_station_info: { [key: number]: StationInfo[] } - planning_area_hfi_results: RawPlanningAreaResult[] - fire_start_ranges: FireStartRange[] -} - export interface HFILoadResultRequest { start_date?: string end_date?: string selected_fire_center_id: number } -export interface ValidatedStationDaily { - daily: StationDaily - valid: boolean -} - -export interface RawValidatedStationDaily { - daily: RawDaily - valid: boolean -} - export interface UpdatedPlanningAreaId { planning_area_id: number } diff --git a/web/src/features/hfiCalculator/slices/hfiReadySlice.test.ts b/web/apps/wps-web/src/features/hfiCalculator/slices/hfiReadySlice.test.ts similarity index 100% rename from web/src/features/hfiCalculator/slices/hfiReadySlice.test.ts rename to web/apps/wps-web/src/features/hfiCalculator/slices/hfiReadySlice.test.ts diff --git a/web/src/features/hfiCalculator/slices/hfiReadySlice.ts b/web/apps/wps-web/src/features/hfiCalculator/slices/hfiReadySlice.ts similarity index 96% rename from web/src/features/hfiCalculator/slices/hfiReadySlice.ts rename to web/apps/wps-web/src/features/hfiCalculator/slices/hfiReadySlice.ts index 4bac9aac99..583f66d4c7 100644 --- a/web/src/features/hfiCalculator/slices/hfiReadySlice.ts +++ b/web/apps/wps-web/src/features/hfiCalculator/slices/hfiReadySlice.ts @@ -1,7 +1,6 @@ import { createSlice, PayloadAction } from '@reduxjs/toolkit' -import { getAllReadyStates, ReadyPlanningAreaDetails, toggleReadyState } from 'api/hfiCalculatorAPI' +import { getAllReadyStates, ReadyPlanningAreaDetails, toggleReadyState, PrepDateRange } from 'api/hfiCalculatorAPI' import { AppThunk } from 'app/store' -import { PrepDateRange } from 'features/hfiCalculator/slices/hfiCalculatorSlice' import { logError } from 'utils/error' import { getErrorMessage } from 'utils/getError' diff --git a/web/src/features/hfiCalculator/slices/stationsSlice.ts b/web/apps/wps-web/src/features/hfiCalculator/slices/stationsSlice.ts similarity index 100% rename from web/src/features/hfiCalculator/slices/stationsSlice.ts rename to web/apps/wps-web/src/features/hfiCalculator/slices/stationsSlice.ts diff --git a/web/src/features/hfiCalculator/util.ts b/web/apps/wps-web/src/features/hfiCalculator/util.ts similarity index 93% rename from web/src/features/hfiCalculator/util.ts rename to web/apps/wps-web/src/features/hfiCalculator/util.ts index 9bdee18eb3..b3e13d0ba9 100644 --- a/web/src/features/hfiCalculator/util.ts +++ b/web/apps/wps-web/src/features/hfiCalculator/util.ts @@ -1,5 +1,4 @@ -import { StationDaily, PlanningArea, FuelType } from 'api/hfiCalculatorAPI' -import { HFIResultResponse, PrepDateRange, StationInfo } from 'features/hfiCalculator/slices/hfiCalculatorSlice' +import { StationDaily, PlanningArea, FuelType, HFIResultResponse, PrepDateRange, StationInfo } from 'api/hfiCalculatorAPI' import { groupBy, isUndefined, sortBy, take } from 'lodash' import { DateTime } from 'luxon' diff --git a/web/src/features/hfiCalculator/validation.ts b/web/apps/wps-web/src/features/hfiCalculator/validation.ts similarity index 100% rename from web/src/features/hfiCalculator/validation.ts rename to web/apps/wps-web/src/features/hfiCalculator/validation.ts diff --git a/web/src/features/landingPage/components/BetaTag.tsx b/web/apps/wps-web/src/features/landingPage/components/BetaTag.tsx similarity index 100% rename from web/src/features/landingPage/components/BetaTag.tsx rename to web/apps/wps-web/src/features/landingPage/components/BetaTag.tsx diff --git a/web/src/features/landingPage/components/Footer.tsx b/web/apps/wps-web/src/features/landingPage/components/Footer.tsx similarity index 100% rename from web/src/features/landingPage/components/Footer.tsx rename to web/apps/wps-web/src/features/landingPage/components/Footer.tsx diff --git a/web/src/features/landingPage/components/Sidebar.tsx b/web/apps/wps-web/src/features/landingPage/components/Sidebar.tsx similarity index 100% rename from web/src/features/landingPage/components/Sidebar.tsx rename to web/apps/wps-web/src/features/landingPage/components/Sidebar.tsx diff --git a/web/src/features/landingPage/components/SidebarToolList.tsx b/web/apps/wps-web/src/features/landingPage/components/SidebarToolList.tsx similarity index 100% rename from web/src/features/landingPage/components/SidebarToolList.tsx rename to web/apps/wps-web/src/features/landingPage/components/SidebarToolList.tsx diff --git a/web/src/features/landingPage/components/Subheading.tsx b/web/apps/wps-web/src/features/landingPage/components/Subheading.tsx similarity index 100% rename from web/src/features/landingPage/components/Subheading.tsx rename to web/apps/wps-web/src/features/landingPage/components/Subheading.tsx diff --git a/web/src/features/landingPage/components/ToolCard.tsx b/web/apps/wps-web/src/features/landingPage/components/ToolCard.tsx similarity index 100% rename from web/src/features/landingPage/components/ToolCard.tsx rename to web/apps/wps-web/src/features/landingPage/components/ToolCard.tsx diff --git a/web/src/features/landingPage/components/ToolCards.tsx b/web/apps/wps-web/src/features/landingPage/components/ToolCards.tsx similarity index 100% rename from web/src/features/landingPage/components/ToolCards.tsx rename to web/apps/wps-web/src/features/landingPage/components/ToolCards.tsx diff --git a/web/src/features/landingPage/images/collaboardIcon.svg b/web/apps/wps-web/src/features/landingPage/images/collaboardIcon.svg similarity index 100% rename from web/src/features/landingPage/images/collaboardIcon.svg rename to web/apps/wps-web/src/features/landingPage/images/collaboardIcon.svg diff --git a/web/src/features/landingPage/images/msTeams.svg b/web/apps/wps-web/src/features/landingPage/images/msTeams.svg similarity index 100% rename from web/src/features/landingPage/images/msTeams.svg rename to web/apps/wps-web/src/features/landingPage/images/msTeams.svg diff --git a/web/src/features/landingPage/pages/LandingPage.tsx b/web/apps/wps-web/src/features/landingPage/pages/LandingPage.tsx similarity index 100% rename from web/src/features/landingPage/pages/LandingPage.tsx rename to web/apps/wps-web/src/features/landingPage/pages/LandingPage.tsx diff --git a/web/src/features/landingPage/toolInfo.tsx b/web/apps/wps-web/src/features/landingPage/toolInfo.tsx similarity index 100% rename from web/src/features/landingPage/toolInfo.tsx rename to web/apps/wps-web/src/features/landingPage/toolInfo.tsx diff --git a/web/src/features/map/Map.tsx b/web/apps/wps-web/src/features/map/Map.tsx similarity index 100% rename from web/src/features/map/Map.tsx rename to web/apps/wps-web/src/features/map/Map.tsx diff --git a/web/src/features/map/TileLayer.tsx b/web/apps/wps-web/src/features/map/TileLayer.tsx similarity index 100% rename from web/src/features/map/TileLayer.tsx rename to web/apps/wps-web/src/features/map/TileLayer.tsx diff --git a/web/src/features/map/VectorLayer.tsx b/web/apps/wps-web/src/features/map/VectorLayer.tsx similarity index 100% rename from web/src/features/map/VectorLayer.tsx rename to web/apps/wps-web/src/features/map/VectorLayer.tsx diff --git a/web/src/features/moreCast2/components/ActualCell.tsx b/web/apps/wps-web/src/features/moreCast2/components/ActualCell.tsx similarity index 100% rename from web/src/features/moreCast2/components/ActualCell.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ActualCell.tsx diff --git a/web/src/features/moreCast2/components/ColumnDefBuilder.tsx b/web/apps/wps-web/src/features/moreCast2/components/ColumnDefBuilder.tsx similarity index 100% rename from web/src/features/moreCast2/components/ColumnDefBuilder.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ColumnDefBuilder.tsx diff --git a/web/src/features/moreCast2/components/DataGridColumns.tsx b/web/apps/wps-web/src/features/moreCast2/components/DataGridColumns.tsx similarity index 100% rename from web/src/features/moreCast2/components/DataGridColumns.tsx rename to web/apps/wps-web/src/features/moreCast2/components/DataGridColumns.tsx diff --git a/web/src/features/moreCast2/components/EditInputCell.tsx b/web/apps/wps-web/src/features/moreCast2/components/EditInputCell.tsx similarity index 100% rename from web/src/features/moreCast2/components/EditInputCell.tsx rename to web/apps/wps-web/src/features/moreCast2/components/EditInputCell.tsx diff --git a/web/src/features/moreCast2/components/ForecastCell.tsx b/web/apps/wps-web/src/features/moreCast2/components/ForecastCell.tsx similarity index 100% rename from web/src/features/moreCast2/components/ForecastCell.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ForecastCell.tsx diff --git a/web/src/features/moreCast2/components/ForecastDataGrid.tsx b/web/apps/wps-web/src/features/moreCast2/components/ForecastDataGrid.tsx similarity index 100% rename from web/src/features/moreCast2/components/ForecastDataGrid.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ForecastDataGrid.tsx diff --git a/web/src/features/moreCast2/components/ForecastHeader.tsx b/web/apps/wps-web/src/features/moreCast2/components/ForecastHeader.tsx similarity index 100% rename from web/src/features/moreCast2/components/ForecastHeader.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ForecastHeader.tsx diff --git a/web/src/features/moreCast2/components/ForecastSummaryDataGrid.tsx b/web/apps/wps-web/src/features/moreCast2/components/ForecastSummaryDataGrid.tsx similarity index 100% rename from web/src/features/moreCast2/components/ForecastSummaryDataGrid.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ForecastSummaryDataGrid.tsx diff --git a/web/src/features/moreCast2/components/GridComponentRenderer.tsx b/web/apps/wps-web/src/features/moreCast2/components/GridComponentRenderer.tsx similarity index 100% rename from web/src/features/moreCast2/components/GridComponentRenderer.tsx rename to web/apps/wps-web/src/features/moreCast2/components/GridComponentRenderer.tsx diff --git a/web/src/features/moreCast2/components/GroupHeader.tsx b/web/apps/wps-web/src/features/moreCast2/components/GroupHeader.tsx similarity index 100% rename from web/src/features/moreCast2/components/GroupHeader.tsx rename to web/apps/wps-web/src/features/moreCast2/components/GroupHeader.tsx diff --git a/web/src/features/moreCast2/components/InvalidCellToolTip.tsx b/web/apps/wps-web/src/features/moreCast2/components/InvalidCellToolTip.tsx similarity index 100% rename from web/src/features/moreCast2/components/InvalidCellToolTip.tsx rename to web/apps/wps-web/src/features/moreCast2/components/InvalidCellToolTip.tsx diff --git a/web/src/features/moreCast2/components/ModelHeader.tsx b/web/apps/wps-web/src/features/moreCast2/components/ModelHeader.tsx similarity index 100% rename from web/src/features/moreCast2/components/ModelHeader.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ModelHeader.tsx diff --git a/web/src/features/moreCast2/components/MoreCast2Column.tsx b/web/apps/wps-web/src/features/moreCast2/components/MoreCast2Column.tsx similarity index 100% rename from web/src/features/moreCast2/components/MoreCast2Column.tsx rename to web/apps/wps-web/src/features/moreCast2/components/MoreCast2Column.tsx diff --git a/web/src/features/moreCast2/components/MoreCast2DateRangePicker.tsx b/web/apps/wps-web/src/features/moreCast2/components/MoreCast2DateRangePicker.tsx similarity index 100% rename from web/src/features/moreCast2/components/MoreCast2DateRangePicker.tsx rename to web/apps/wps-web/src/features/moreCast2/components/MoreCast2DateRangePicker.tsx diff --git a/web/src/features/moreCast2/components/MoreCast2Snackbar.tsx b/web/apps/wps-web/src/features/moreCast2/components/MoreCast2Snackbar.tsx similarity index 100% rename from web/src/features/moreCast2/components/MoreCast2Snackbar.tsx rename to web/apps/wps-web/src/features/moreCast2/components/MoreCast2Snackbar.tsx diff --git a/web/src/features/moreCast2/components/MorecastAboutDataContent.tsx b/web/apps/wps-web/src/features/moreCast2/components/MorecastAboutDataContent.tsx similarity index 100% rename from web/src/features/moreCast2/components/MorecastAboutDataContent.tsx rename to web/apps/wps-web/src/features/moreCast2/components/MorecastAboutDataContent.tsx diff --git a/web/src/features/moreCast2/components/ResetForecastButton.tsx b/web/apps/wps-web/src/features/moreCast2/components/ResetForecastButton.tsx similarity index 100% rename from web/src/features/moreCast2/components/ResetForecastButton.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ResetForecastButton.tsx diff --git a/web/src/features/moreCast2/components/SaveForecastButton.tsx b/web/apps/wps-web/src/features/moreCast2/components/SaveForecastButton.tsx similarity index 100% rename from web/src/features/moreCast2/components/SaveForecastButton.tsx rename to web/apps/wps-web/src/features/moreCast2/components/SaveForecastButton.tsx diff --git a/web/src/features/moreCast2/components/SelectableButton.tsx b/web/apps/wps-web/src/features/moreCast2/components/SelectableButton.tsx similarity index 100% rename from web/src/features/moreCast2/components/SelectableButton.tsx rename to web/apps/wps-web/src/features/moreCast2/components/SelectableButton.tsx diff --git a/web/src/features/moreCast2/components/StationGroupDropdown.tsx b/web/apps/wps-web/src/features/moreCast2/components/StationGroupDropdown.tsx similarity index 100% rename from web/src/features/moreCast2/components/StationGroupDropdown.tsx rename to web/apps/wps-web/src/features/moreCast2/components/StationGroupDropdown.tsx diff --git a/web/src/features/moreCast2/components/StationPanel.tsx b/web/apps/wps-web/src/features/moreCast2/components/StationPanel.tsx similarity index 100% rename from web/src/features/moreCast2/components/StationPanel.tsx rename to web/apps/wps-web/src/features/moreCast2/components/StationPanel.tsx diff --git a/web/src/features/moreCast2/components/TabbedDataGrid.tsx b/web/apps/wps-web/src/features/moreCast2/components/TabbedDataGrid.tsx similarity index 100% rename from web/src/features/moreCast2/components/TabbedDataGrid.tsx rename to web/apps/wps-web/src/features/moreCast2/components/TabbedDataGrid.tsx diff --git a/web/src/features/moreCast2/components/ValidatedCell.tsx b/web/apps/wps-web/src/features/moreCast2/components/ValidatedCell.tsx similarity index 100% rename from web/src/features/moreCast2/components/ValidatedCell.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ValidatedCell.tsx diff --git a/web/src/features/moreCast2/components/ValidatedForecastCell.tsx b/web/apps/wps-web/src/features/moreCast2/components/ValidatedForecastCell.tsx similarity index 100% rename from web/src/features/moreCast2/components/ValidatedForecastCell.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ValidatedForecastCell.tsx diff --git a/web/src/features/moreCast2/components/ValidatedGrassCureForecastCell.tsx b/web/apps/wps-web/src/features/moreCast2/components/ValidatedGrassCureForecastCell.tsx similarity index 100% rename from web/src/features/moreCast2/components/ValidatedGrassCureForecastCell.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ValidatedGrassCureForecastCell.tsx diff --git a/web/src/features/moreCast2/components/ValidatedWindDirectionForecastCell.tsx b/web/apps/wps-web/src/features/moreCast2/components/ValidatedWindDirectionForecastCell.tsx similarity index 100% rename from web/src/features/moreCast2/components/ValidatedWindDirectionForecastCell.tsx rename to web/apps/wps-web/src/features/moreCast2/components/ValidatedWindDirectionForecastCell.tsx diff --git a/web/src/features/moreCast2/components/WeatherModelDropdown.tsx b/web/apps/wps-web/src/features/moreCast2/components/WeatherModelDropdown.tsx similarity index 100% rename from web/src/features/moreCast2/components/WeatherModelDropdown.tsx rename to web/apps/wps-web/src/features/moreCast2/components/WeatherModelDropdown.tsx diff --git a/web/src/features/moreCast2/components/colDefBuilder.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/colDefBuilder.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/colDefBuilder.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/colDefBuilder.test.tsx diff --git a/web/src/features/moreCast2/components/editInputCell.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/editInputCell.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/editInputCell.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/editInputCell.test.tsx diff --git a/web/src/features/moreCast2/components/forecastCell.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/forecastCell.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/forecastCell.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/forecastCell.test.tsx diff --git a/web/src/features/moreCast2/components/forecastHeader.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/forecastHeader.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/forecastHeader.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/forecastHeader.test.tsx diff --git a/web/src/features/moreCast2/components/gridComponentRenderer.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/gridComponentRenderer.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/gridComponentRenderer.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/gridComponentRenderer.test.tsx diff --git a/web/src/features/moreCast2/components/modelHeader.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/modelHeader.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/modelHeader.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/modelHeader.test.tsx diff --git a/web/src/features/moreCast2/components/moreCast2Column.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/moreCast2Column.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/moreCast2Column.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/moreCast2Column.test.tsx diff --git a/web/src/features/moreCast2/components/resetForecastButton.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/resetForecastButton.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/resetForecastButton.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/resetForecastButton.test.tsx diff --git a/web/src/features/moreCast2/components/saveForecastButton.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/saveForecastButton.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/saveForecastButton.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/saveForecastButton.test.tsx diff --git a/web/src/features/moreCast2/components/selectableButton.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/selectableButton.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/selectableButton.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/selectableButton.test.tsx diff --git a/web/src/features/moreCast2/components/stationGroupsDropdown.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/stationGroupsDropdown.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/stationGroupsDropdown.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/stationGroupsDropdown.test.tsx diff --git a/web/src/features/moreCast2/components/stationPanel.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/stationPanel.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/stationPanel.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/stationPanel.test.tsx diff --git a/web/src/features/moreCast2/components/tabbedDataGrid.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/tabbedDataGrid.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/tabbedDataGrid.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/tabbedDataGrid.test.tsx diff --git a/web/src/features/moreCast2/components/testHelper.tsx b/web/apps/wps-web/src/features/moreCast2/components/testHelper.tsx similarity index 100% rename from web/src/features/moreCast2/components/testHelper.tsx rename to web/apps/wps-web/src/features/moreCast2/components/testHelper.tsx diff --git a/web/src/features/moreCast2/components/validatedForecastCell.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/validatedForecastCell.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/validatedForecastCell.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/validatedForecastCell.test.tsx diff --git a/web/src/features/moreCast2/components/validatedGrassCureForecastCell.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/validatedGrassCureForecastCell.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/validatedGrassCureForecastCell.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/validatedGrassCureForecastCell.test.tsx diff --git a/web/src/features/moreCast2/components/validatedWindDirectionForecastCell.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/validatedWindDirectionForecastCell.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/validatedWindDirectionForecastCell.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/validatedWindDirectionForecastCell.test.tsx diff --git a/web/src/features/moreCast2/components/weatherModelDropdown.test.tsx b/web/apps/wps-web/src/features/moreCast2/components/weatherModelDropdown.test.tsx similarity index 100% rename from web/src/features/moreCast2/components/weatherModelDropdown.test.tsx rename to web/apps/wps-web/src/features/moreCast2/components/weatherModelDropdown.test.tsx diff --git a/web/src/features/moreCast2/forecastDraft.test.ts b/web/apps/wps-web/src/features/moreCast2/forecastDraft.test.ts similarity index 100% rename from web/src/features/moreCast2/forecastDraft.test.ts rename to web/apps/wps-web/src/features/moreCast2/forecastDraft.test.ts diff --git a/web/src/features/moreCast2/forecastDraft.ts b/web/apps/wps-web/src/features/moreCast2/forecastDraft.ts similarity index 100% rename from web/src/features/moreCast2/forecastDraft.ts rename to web/apps/wps-web/src/features/moreCast2/forecastDraft.ts diff --git a/web/src/features/moreCast2/interfaces.ts b/web/apps/wps-web/src/features/moreCast2/interfaces.ts similarity index 92% rename from web/src/features/moreCast2/interfaces.ts rename to web/apps/wps-web/src/features/moreCast2/interfaces.ts index 8c5c88bbc0..32fa4d1d6f 100644 --- a/web/src/features/moreCast2/interfaces.ts +++ b/web/apps/wps-web/src/features/moreCast2/interfaces.ts @@ -1,24 +1,13 @@ import { DateTime } from 'luxon' import { ModelType } from 'api/moreCast2API' +export type { MoreCast2ForecastRow } from 'api/moreCast2API' + export interface PredictionItem { choice: ModelType value: number } -export interface MoreCast2ForecastRow { - id: string - forDate: DateTime - precip: PredictionItem - rh: PredictionItem - stationCode: number - stationName: string - temp: PredictionItem - windDirection: PredictionItem - windSpeed: PredictionItem - grassCuring: PredictionItem -} - export interface BaseRow { // Identity and date properties id: string diff --git a/web/src/features/moreCast2/pages/MoreCast2Page.tsx b/web/apps/wps-web/src/features/moreCast2/pages/MoreCast2Page.tsx similarity index 100% rename from web/src/features/moreCast2/pages/MoreCast2Page.tsx rename to web/apps/wps-web/src/features/moreCast2/pages/MoreCast2Page.tsx diff --git a/web/src/features/moreCast2/rowFilters.test.ts b/web/apps/wps-web/src/features/moreCast2/rowFilters.test.ts similarity index 100% rename from web/src/features/moreCast2/rowFilters.test.ts rename to web/apps/wps-web/src/features/moreCast2/rowFilters.test.ts diff --git a/web/src/features/moreCast2/rowFilters.ts b/web/apps/wps-web/src/features/moreCast2/rowFilters.ts similarity index 100% rename from web/src/features/moreCast2/rowFilters.ts rename to web/apps/wps-web/src/features/moreCast2/rowFilters.ts diff --git a/web/src/features/moreCast2/saveForecast.test.ts b/web/apps/wps-web/src/features/moreCast2/saveForecast.test.ts similarity index 100% rename from web/src/features/moreCast2/saveForecast.test.ts rename to web/apps/wps-web/src/features/moreCast2/saveForecast.test.ts diff --git a/web/src/features/moreCast2/saveForecasts.ts b/web/apps/wps-web/src/features/moreCast2/saveForecasts.ts similarity index 100% rename from web/src/features/moreCast2/saveForecasts.ts rename to web/apps/wps-web/src/features/moreCast2/saveForecasts.ts diff --git a/web/src/features/moreCast2/slices/dataSlice.test.ts b/web/apps/wps-web/src/features/moreCast2/slices/dataSlice.test.ts similarity index 100% rename from web/src/features/moreCast2/slices/dataSlice.test.ts rename to web/apps/wps-web/src/features/moreCast2/slices/dataSlice.test.ts diff --git a/web/src/features/moreCast2/slices/dataSlice.ts b/web/apps/wps-web/src/features/moreCast2/slices/dataSlice.ts similarity index 100% rename from web/src/features/moreCast2/slices/dataSlice.ts rename to web/apps/wps-web/src/features/moreCast2/slices/dataSlice.ts diff --git a/web/src/features/moreCast2/slices/selectedStationsSlice.ts b/web/apps/wps-web/src/features/moreCast2/slices/selectedStationsSlice.ts similarity index 100% rename from web/src/features/moreCast2/slices/selectedStationsSlice.ts rename to web/apps/wps-web/src/features/moreCast2/slices/selectedStationsSlice.ts diff --git a/web/src/features/moreCast2/slices/validInputSlice.test.ts b/web/apps/wps-web/src/features/moreCast2/slices/validInputSlice.test.ts similarity index 100% rename from web/src/features/moreCast2/slices/validInputSlice.test.ts rename to web/apps/wps-web/src/features/moreCast2/slices/validInputSlice.test.ts diff --git a/web/src/features/moreCast2/slices/validInputSlice.ts b/web/apps/wps-web/src/features/moreCast2/slices/validInputSlice.ts similarity index 100% rename from web/src/features/moreCast2/slices/validInputSlice.ts rename to web/apps/wps-web/src/features/moreCast2/slices/validInputSlice.ts diff --git a/web/src/features/moreCast2/util.test.ts b/web/apps/wps-web/src/features/moreCast2/util.test.ts similarity index 100% rename from web/src/features/moreCast2/util.test.ts rename to web/apps/wps-web/src/features/moreCast2/util.test.ts diff --git a/web/src/features/moreCast2/util.ts b/web/apps/wps-web/src/features/moreCast2/util.ts similarity index 100% rename from web/src/features/moreCast2/util.ts rename to web/apps/wps-web/src/features/moreCast2/util.ts diff --git a/web/src/features/percentileCalculator/components/PercentileActionButtons.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/PercentileActionButtons.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/PercentileActionButtons.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/PercentileActionButtons.tsx diff --git a/web/src/features/percentileCalculator/components/PercentileCalcDocumentation.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/PercentileCalcDocumentation.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/PercentileCalcDocumentation.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/PercentileCalcDocumentation.tsx diff --git a/web/src/features/percentileCalculator/components/PercentileMeanResultTable.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/PercentileMeanResultTable.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/PercentileMeanResultTable.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/PercentileMeanResultTable.tsx diff --git a/web/src/features/percentileCalculator/components/PercentileResults.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/PercentileResults.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/PercentileResults.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/PercentileResults.tsx diff --git a/web/src/features/percentileCalculator/components/PercentileSnackbar.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/PercentileSnackbar.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/PercentileSnackbar.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/PercentileSnackbar.tsx diff --git a/web/src/features/percentileCalculator/components/PercentileStationResultTable.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/PercentileStationResultTable.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/PercentileStationResultTable.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/PercentileStationResultTable.tsx diff --git a/web/src/features/percentileCalculator/components/PercentileTextfield.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/PercentileTextfield.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/PercentileTextfield.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/PercentileTextfield.tsx diff --git a/web/src/features/percentileCalculator/components/TimeRangeSlider.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/TimeRangeSlider.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/TimeRangeSlider.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/TimeRangeSlider.tsx diff --git a/web/src/features/percentileCalculator/components/WxStationDropdown.tsx b/web/apps/wps-web/src/features/percentileCalculator/components/WxStationDropdown.tsx similarity index 100% rename from web/src/features/percentileCalculator/components/WxStationDropdown.tsx rename to web/apps/wps-web/src/features/percentileCalculator/components/WxStationDropdown.tsx diff --git a/web/src/features/percentileCalculator/pages/PercentileCalculatorPage.tsx b/web/apps/wps-web/src/features/percentileCalculator/pages/PercentileCalculatorPage.tsx similarity index 100% rename from web/src/features/percentileCalculator/pages/PercentileCalculatorPage.tsx rename to web/apps/wps-web/src/features/percentileCalculator/pages/PercentileCalculatorPage.tsx diff --git a/web/src/features/percentileCalculator/pages/PercentileCalculatorPageWithDisclaimer.tsx b/web/apps/wps-web/src/features/percentileCalculator/pages/PercentileCalculatorPageWithDisclaimer.tsx similarity index 100% rename from web/src/features/percentileCalculator/pages/PercentileCalculatorPageWithDisclaimer.tsx rename to web/apps/wps-web/src/features/percentileCalculator/pages/PercentileCalculatorPageWithDisclaimer.tsx diff --git a/web/src/features/percentileCalculator/slices/percentilesSlice.ts b/web/apps/wps-web/src/features/percentileCalculator/slices/percentilesSlice.ts similarity index 100% rename from web/src/features/percentileCalculator/slices/percentilesSlice.ts rename to web/apps/wps-web/src/features/percentileCalculator/slices/percentilesSlice.ts diff --git a/web/src/features/sfmsInsights/components/RasterTypeDropdown.test.tsx b/web/apps/wps-web/src/features/sfmsInsights/components/RasterTypeDropdown.test.tsx similarity index 100% rename from web/src/features/sfmsInsights/components/RasterTypeDropdown.test.tsx rename to web/apps/wps-web/src/features/sfmsInsights/components/RasterTypeDropdown.test.tsx diff --git a/web/src/features/sfmsInsights/components/RasterTypeDropdown.tsx b/web/apps/wps-web/src/features/sfmsInsights/components/RasterTypeDropdown.tsx similarity index 100% rename from web/src/features/sfmsInsights/components/RasterTypeDropdown.tsx rename to web/apps/wps-web/src/features/sfmsInsights/components/RasterTypeDropdown.tsx diff --git a/web/src/features/sfmsInsights/components/map/RasterErrorNotification.test.tsx b/web/apps/wps-web/src/features/sfmsInsights/components/map/RasterErrorNotification.test.tsx similarity index 100% rename from web/src/features/sfmsInsights/components/map/RasterErrorNotification.test.tsx rename to web/apps/wps-web/src/features/sfmsInsights/components/map/RasterErrorNotification.test.tsx diff --git a/web/src/features/sfmsInsights/components/map/RasterErrorNotification.tsx b/web/apps/wps-web/src/features/sfmsInsights/components/map/RasterErrorNotification.tsx similarity index 100% rename from web/src/features/sfmsInsights/components/map/RasterErrorNotification.tsx rename to web/apps/wps-web/src/features/sfmsInsights/components/map/RasterErrorNotification.tsx diff --git a/web/src/features/sfmsInsights/components/map/RasterLegend.tsx b/web/apps/wps-web/src/features/sfmsInsights/components/map/RasterLegend.tsx similarity index 100% rename from web/src/features/sfmsInsights/components/map/RasterLegend.tsx rename to web/apps/wps-web/src/features/sfmsInsights/components/map/RasterLegend.tsx diff --git a/web/src/features/sfmsInsights/components/map/RasterTooltip.tsx b/web/apps/wps-web/src/features/sfmsInsights/components/map/RasterTooltip.tsx similarity index 100% rename from web/src/features/sfmsInsights/components/map/RasterTooltip.tsx rename to web/apps/wps-web/src/features/sfmsInsights/components/map/RasterTooltip.tsx diff --git a/web/src/features/sfmsInsights/components/map/SFMSMap.tsx b/web/apps/wps-web/src/features/sfmsInsights/components/map/SFMSMap.tsx similarity index 100% rename from web/src/features/sfmsInsights/components/map/SFMSMap.tsx rename to web/apps/wps-web/src/features/sfmsInsights/components/map/SFMSMap.tsx diff --git a/web/src/features/sfmsInsights/components/map/layerDefinitions.test.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/layerDefinitions.test.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/layerDefinitions.test.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/layerDefinitions.test.ts diff --git a/web/src/features/sfmsInsights/components/map/layerDefinitions.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/layerDefinitions.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/layerDefinitions.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/layerDefinitions.ts diff --git a/web/src/features/sfmsInsights/components/map/layerManager.test.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/layerManager.test.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/layerManager.test.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/layerManager.test.ts diff --git a/web/src/features/sfmsInsights/components/map/layerManager.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/layerManager.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/layerManager.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/layerManager.ts diff --git a/web/src/features/sfmsInsights/components/map/rasterConfig.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/rasterConfig.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/rasterConfig.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/rasterConfig.ts diff --git a/web/src/features/sfmsInsights/components/map/rasterTooltipHandler.test.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/rasterTooltipHandler.test.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/rasterTooltipHandler.test.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/rasterTooltipHandler.test.ts diff --git a/web/src/features/sfmsInsights/components/map/rasterTooltipHandler.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/rasterTooltipHandler.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/rasterTooltipHandler.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/rasterTooltipHandler.ts diff --git a/web/src/features/sfmsInsights/components/map/rasterTooltipInteraction.test.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/rasterTooltipInteraction.test.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/rasterTooltipInteraction.test.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/rasterTooltipInteraction.test.ts diff --git a/web/src/features/sfmsInsights/components/map/rasterTooltipInteraction.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/rasterTooltipInteraction.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/rasterTooltipInteraction.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/rasterTooltipInteraction.ts diff --git a/web/src/features/sfmsInsights/components/map/sfmsFeatureStylers.test.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/sfmsFeatureStylers.test.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/sfmsFeatureStylers.test.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/sfmsFeatureStylers.test.ts diff --git a/web/src/features/sfmsInsights/components/map/sfmsFeatureStylers.ts b/web/apps/wps-web/src/features/sfmsInsights/components/map/sfmsFeatureStylers.ts similarity index 100% rename from web/src/features/sfmsInsights/components/map/sfmsFeatureStylers.ts rename to web/apps/wps-web/src/features/sfmsInsights/components/map/sfmsFeatureStylers.ts diff --git a/web/src/features/sfmsInsights/components/map/sfmsMap.test.tsx b/web/apps/wps-web/src/features/sfmsInsights/components/map/sfmsMap.test.tsx similarity index 100% rename from web/src/features/sfmsInsights/components/map/sfmsMap.test.tsx rename to web/apps/wps-web/src/features/sfmsInsights/components/map/sfmsMap.test.tsx diff --git a/web/src/features/sfmsInsights/pages/SFMSInsightsPage.test.tsx b/web/apps/wps-web/src/features/sfmsInsights/pages/SFMSInsightsPage.test.tsx similarity index 100% rename from web/src/features/sfmsInsights/pages/SFMSInsightsPage.test.tsx rename to web/apps/wps-web/src/features/sfmsInsights/pages/SFMSInsightsPage.test.tsx diff --git a/web/src/features/sfmsInsights/pages/SFMSInsightsPage.tsx b/web/apps/wps-web/src/features/sfmsInsights/pages/SFMSInsightsPage.tsx similarity index 100% rename from web/src/features/sfmsInsights/pages/SFMSInsightsPage.tsx rename to web/apps/wps-web/src/features/sfmsInsights/pages/SFMSInsightsPage.tsx diff --git a/web/src/features/stations/slices/stationsSlice.ts b/web/apps/wps-web/src/features/stations/slices/stationsSlice.ts similarity index 100% rename from web/src/features/stations/slices/stationsSlice.ts rename to web/apps/wps-web/src/features/stations/slices/stationsSlice.ts diff --git a/web/src/fonts/BCSans-Bold.woff b/web/apps/wps-web/src/fonts/BCSans-Bold.woff similarity index 100% rename from web/src/fonts/BCSans-Bold.woff rename to web/apps/wps-web/src/fonts/BCSans-Bold.woff diff --git a/web/src/fonts/BCSans-Bold.woff2 b/web/apps/wps-web/src/fonts/BCSans-Bold.woff2 similarity index 100% rename from web/src/fonts/BCSans-Bold.woff2 rename to web/apps/wps-web/src/fonts/BCSans-Bold.woff2 diff --git a/web/src/fonts/BCSans-BoldItalic.woff b/web/apps/wps-web/src/fonts/BCSans-BoldItalic.woff similarity index 100% rename from web/src/fonts/BCSans-BoldItalic.woff rename to web/apps/wps-web/src/fonts/BCSans-BoldItalic.woff diff --git a/web/src/fonts/BCSans-BoldItalic.woff2 b/web/apps/wps-web/src/fonts/BCSans-BoldItalic.woff2 similarity index 100% rename from web/src/fonts/BCSans-BoldItalic.woff2 rename to web/apps/wps-web/src/fonts/BCSans-BoldItalic.woff2 diff --git a/web/src/fonts/BCSans-Italic.woff b/web/apps/wps-web/src/fonts/BCSans-Italic.woff similarity index 100% rename from web/src/fonts/BCSans-Italic.woff rename to web/apps/wps-web/src/fonts/BCSans-Italic.woff diff --git a/web/src/fonts/BCSans-Italic.woff2 b/web/apps/wps-web/src/fonts/BCSans-Italic.woff2 similarity index 100% rename from web/src/fonts/BCSans-Italic.woff2 rename to web/apps/wps-web/src/fonts/BCSans-Italic.woff2 diff --git a/web/src/fonts/BCSans-Regular.woff b/web/apps/wps-web/src/fonts/BCSans-Regular.woff similarity index 100% rename from web/src/fonts/BCSans-Regular.woff rename to web/apps/wps-web/src/fonts/BCSans-Regular.woff diff --git a/web/src/fonts/BCSans-Regular.woff2 b/web/apps/wps-web/src/fonts/BCSans-Regular.woff2 similarity index 100% rename from web/src/fonts/BCSans-Regular.woff2 rename to web/apps/wps-web/src/fonts/BCSans-Regular.woff2 diff --git a/web/src/fonts/FONTLOG_README.txt b/web/apps/wps-web/src/fonts/FONTLOG_README.txt similarity index 100% rename from web/src/fonts/FONTLOG_README.txt rename to web/apps/wps-web/src/fonts/FONTLOG_README.txt diff --git a/web/src/fonts/LICENSE_OFL.txt b/web/apps/wps-web/src/fonts/LICENSE_OFL.txt similarity index 100% rename from web/src/fonts/LICENSE_OFL.txt rename to web/apps/wps-web/src/fonts/LICENSE_OFL.txt diff --git a/web/src/index.css b/web/apps/wps-web/src/index.css similarity index 100% rename from web/src/index.css rename to web/apps/wps-web/src/index.css diff --git a/web/src/index.tsx b/web/apps/wps-web/src/index.tsx similarity index 100% rename from web/src/index.tsx rename to web/apps/wps-web/src/index.tsx diff --git a/web/src/react-app-env.d.ts b/web/apps/wps-web/src/react-app-env.d.ts similarity index 100% rename from web/src/react-app-env.d.ts rename to web/apps/wps-web/src/react-app-env.d.ts diff --git a/web/src/setupTests.ts b/web/apps/wps-web/src/setupTests.ts similarity index 100% rename from web/src/setupTests.ts rename to web/apps/wps-web/src/setupTests.ts diff --git a/web/src/test/testUtils.ts b/web/apps/wps-web/src/test/testUtils.ts similarity index 100% rename from web/src/test/testUtils.ts rename to web/apps/wps-web/src/test/testUtils.ts diff --git a/web/src/types/global.d.ts b/web/apps/wps-web/src/types/global.d.ts similarity index 100% rename from web/src/types/global.d.ts rename to web/apps/wps-web/src/types/global.d.ts diff --git a/web/src/whatwg-fetch.d.ts b/web/apps/wps-web/src/whatwg-fetch.d.ts similarity index 100% rename from web/src/whatwg-fetch.d.ts rename to web/apps/wps-web/src/whatwg-fetch.d.ts diff --git a/web/apps/wps-web/tsconfig.app.json b/web/apps/wps-web/tsconfig.app.json new file mode 100644 index 0000000000..130839992d --- /dev/null +++ b/web/apps/wps-web/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "extends": "@wps/tsconfig/react-app.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "types": ["vite/client", "node", "vitest/globals", "@testing-library/jest-dom"], + "noUnusedLocals": false, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"], + "@/app/theme": ["../../packages/ui/src/theme"], + "@/api/*": ["../../packages/api/src/*"], + "@/utils/*": ["../../packages/utils/src/*"], + "@/components/*": ["../../packages/ui/src/*"], + "#root/*": ["./*"], + "app/theme": ["../../packages/ui/src/theme"], + "app/*": ["./src/app/*"], + "utils/*": ["../../packages/utils/src/*"], + "api/*": ["../../packages/api/src/*"], + "features/*": ["./src/features/*"], + "components/*": ["../../packages/ui/src/*"], + "components": ["../../packages/ui/src/index"], + "commonSlices/*": ["./src/commonSlices/*"] + } + }, + "include": ["src", "../../packages/ui/src", "../../packages/api/src", "../../packages/utils/src", "../../packages/types/src"] +} diff --git a/web/apps/wps-web/tsconfig.json b/web/apps/wps-web/tsconfig.json new file mode 100644 index 0000000000..fcf5db7f84 --- /dev/null +++ b/web/apps/wps-web/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } + ], +} \ No newline at end of file diff --git a/web/tsconfig.node.json b/web/apps/wps-web/tsconfig.node.json similarity index 100% rename from web/tsconfig.node.json rename to web/apps/wps-web/tsconfig.node.json diff --git a/web/vite.config.ts b/web/apps/wps-web/vite.config.ts similarity index 55% rename from web/vite.config.ts rename to web/apps/wps-web/vite.config.ts index 8acf9505c2..d35a2d11c7 100644 --- a/web/vite.config.ts +++ b/web/apps/wps-web/vite.config.ts @@ -64,16 +64,25 @@ export default defineConfig({ } }, resolve: { - alias: { - '@': path.resolve(__dirname, './src'), - app: resolve(__dirname, 'src', 'app'), - features: resolve(__dirname, 'src', 'features'), - utils: resolve(__dirname, 'src', 'utils'), - commonSlices: resolve(__dirname, 'src', 'commonSlices'), - components: resolve(__dirname, 'src', 'components'), - api: resolve(__dirname, 'src', 'api'), - documents: resolve(__dirname, 'src', 'documents'), - '#root': resolve(__dirname) - } + alias: [ + // @/app/theme remapped to ui package (must come before @/app/ and @/) + { find: '@/app/theme', replacement: resolve(__dirname, '../../packages/ui/src/theme') }, + // @/api, @/utils, @/components remapped to extracted packages + { find: /^@\/api\/(.*)/, replacement: resolve(__dirname, '../../packages/api/src/$1') }, + { find: /^@\/utils\/(.*)/, replacement: resolve(__dirname, '../../packages/utils/src/$1') }, + { find: /^@\/components\/(.*)/, replacement: resolve(__dirname, '../../packages/ui/src/$1') }, + // bare aliases + { find: '@', replacement: path.resolve(__dirname, './src') }, + // app/theme specifically remapped to ui package (must come before app) + { find: 'app/theme', replacement: resolve(__dirname, '../../packages/ui/src/theme') }, + { find: 'app', replacement: resolve(__dirname, 'src/app') }, + { find: 'features', replacement: resolve(__dirname, 'src/features') }, + { find: 'utils', replacement: resolve(__dirname, '../../packages/utils/src') }, + { find: 'commonSlices', replacement: resolve(__dirname, 'src/commonSlices') }, + { find: 'components', replacement: resolve(__dirname, '../../packages/ui/src') }, + { find: 'api', replacement: resolve(__dirname, '../../packages/api/src') }, + { find: 'documents', replacement: resolve(__dirname, 'src/documents') }, + { find: '#root', replacement: resolve(__dirname) } + ] } }) diff --git a/web/vitest.config.ts b/web/apps/wps-web/vitest.config.ts similarity index 100% rename from web/vitest.config.ts rename to web/apps/wps-web/vitest.config.ts diff --git a/web/package.json b/web/package.json index f48fc7b125..e2000cced1 100644 --- a/web/package.json +++ b/web/package.json @@ -1,125 +1,22 @@ { - "name": "wps-web", - "version": "0.1.0", - "engines": { - "node": ">=20", - "npm": ">=10.7.0" - }, - "type": "module", - "license": "Apache-2.0", - "licenses": [ - { - "type": "Apache-2.0", - "url": "https://www.apache.org/licenses/LICENSE-2.0" - } + "name": "wps-frontend", + "private": true, + "workspaces": [ + "apps/*", + "packages/*" ], - "dependencies": { - "@emotion/react": "^11.8.2", - "@emotion/styled": "^11.8.1", - "@mui/icons-material": "^5.5.1", - "@mui/material": "5.15.20", - "@mui/system": "^5.15.14", - "@mui/x-data-grid-pro": "^6.0.0", - "@mui/x-date-pickers": "^7.29.4", - "@psu/cffdrs_ts": "git+https://github.com/cffdrs/cffdrs_ts#b9afdabc89dd4bdf04ccf1e406a4a5d8d552ff51", - "@reduxjs/toolkit": "^2.2.7", - "@sentry/react": "^10.0.0", - "@sentry/vite-plugin": "^5.0.0", - "@types/esri-leaflet": "^3.0.0", - "@types/leaflet": "^1.7.0", - "@types/lodash": "^4.14.173", - "@types/luxon": "^3.0.2", - "@types/react": "18.3.3", - "@types/react-dom": "^18.3.0", - "@types/react-plotly.js": "^2.2.4", - "@types/react-router-dom": "^5.3.3", - "@types/webpack-env": "^1.15.1", - "@typescript-eslint/eslint-plugin": "^8.0.0", - "@typescript-eslint/parser": "^8.0.0", - "@vitest/coverage-v8": "^4.0.8", - "axios": "1.8.2", - "date-fns": "^4.0.0", - "eslint-config-prettier": "^10.0.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.4", - "esri-leaflet": "3.0.12", - "filefy": "^0.1.11", - "jsdom": "^29.0.0", - "jwt-decode": "^4.0.0", - "keycloak-js": "^25.0.0", - "leaflet": "^1.7.1", - "lodash": "^4.17.21", - "luxon": "^3.0.2", - "match-sorter": "^8.0.0", - "nyc": "^18.0.0", - "ol": "10.0.0", - "ol-mapbox-style": "^13.1.1", - "ol-pmtiles": "^2.0.0", - "prettier": "^3.3.3", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-is": "^19.2.4", - "react-redux": "^9.1.2", - "react-router-dom": "^7.6.2", - "recharts": "^3.0.0", - "typescript": "^5.2.2", - "vitest": "^4.0.0", - "whatwg-fetch": "^3.6.20" - }, + "packageManager": "yarn@4.13.0", "scripts": { - "start": "vite", - "start:cypress": "export $(cat .env.cypress | xargs) && yarn start", - "build": "tsc -b && vite build", - "build:prod": "tsc -b && vite build", - "test": "VITE_PMTILES_BUCKET=https://nrs.objectstore.gov.bc.ca/gpdqha/psu/pmtiles/ vitest", - "test:ci": "CI=true npm test", - "coverage": "npm test -- --coverage --watchAll=false", - "coverage:ci": "CI=true VITE_KEYCLOAK_CLIENT=wps-web VITE_PMTILES_BUCKET=https://nrs.objectstore.gov.bc.ca/gpdqha/psu/pmtiles/ vitest run --coverage", - "cy:open": "cypress open", - "cy:run": "cypress run --browser chrome --config watchForFileChanges=false", - "cypress:ci": "start-server-and-test start:cypress http://localhost:3030 'cy:run'", - "lint": "eslint", - "lint:fix": "eslint --fix", - "format": "prettier --write \"**/*.+(js|jsx|json|yml|yaml|css|md)\"", - "finalizeCoverage": "yarn node mergeCoverage.cjs", - "preview": "vite preview" + "build": "turbo build", + "test": "turbo test", + "lint": "turbo lint", + "dev": "turbo dev", + "cypress:ci": "yarn workspace @wps/wps-web run cypress:ci", + "coverage:ci": "yarn workspace @wps/wps-web run coverage:ci", + "finalizeCoverage": "yarn workspace @wps/wps-web run finalizeCoverage" }, "devDependencies": { - "@babel/core": "^7.29.0", - "@babel/preset-env": "^7.29.0", - "@cypress/code-coverage": "^4.0.0", - "@eslint/compat": "^2.0.0", - "@testing-library/dom": "^10.1.0", - "@testing-library/jest-dom": "^6.4.2", - "@testing-library/react": "^16.0.0", - "@testing-library/user-event": "^14.5.2", - "@types/babel__core": "^7", - "@types/babel__preset-env": "^7", - "@types/jest": "^30.0.0", - "@types/react-is": "^19", - "@types/recharts": "^1.8.23", - "@vitejs/plugin-react": "^4.3.1", - "babel-loader": "^10.1.1", - "cypress": "^15.10.0", - "eslint": "^9.7.0", - "eslint-plugin-react-hooks": "^7.0.0", - "eslint-plugin-react-refresh": "^0.4.7", - "globals": "^17.0.0", - "rollup": "^4.59.0", - "start-server-and-test": "^2.0.0", - "ts-sinon": "^2.0.2", - "vite": "^7.0.0", - "vite-plugin-istanbul": "^7.0.0", - "vite-plugin-svgr": "^4.2.0", - "webpack": "^5.105.4" - }, - "nyc": { - "report-dir": "coverage-cypress", - "excludeAfterRemap": true, - "exclude": [ - "src/serviceWorker.ts", - "src/app/store.ts" - ] - }, - "packageManager": "yarn@4.13.0" + "turbo": "^2.0.0", + "typescript": "^5.2.2" + } } diff --git a/web/packages/api/package.json b/web/packages/api/package.json new file mode 100644 index 0000000000..c86e9f2c1f --- /dev/null +++ b/web/packages/api/package.json @@ -0,0 +1,8 @@ +{ + "name": "@wps/api", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "tsc --noEmit -p tsconfig.json" + } +} diff --git a/web/src/api/axios.ts b/web/packages/api/src/axios.ts similarity index 100% rename from web/src/api/axios.ts rename to web/packages/api/src/axios.ts diff --git a/web/src/api/cHainesAPI.ts b/web/packages/api/src/cHainesAPI.ts similarity index 100% rename from web/src/api/cHainesAPI.ts rename to web/packages/api/src/cHainesAPI.ts diff --git a/web/src/api/fbaAPI.ts b/web/packages/api/src/fbaAPI.ts similarity index 99% rename from web/src/api/fbaAPI.ts rename to web/packages/api/src/fbaAPI.ts index 6213f1ec57..fcd3ddea61 100644 --- a/web/src/api/fbaAPI.ts +++ b/web/packages/api/src/fbaAPI.ts @@ -1,4 +1,4 @@ -import { AdvisoryStatus } from '@/utils/constants' +import { AdvisoryStatus } from 'utils/constants' import axios, { raster } from 'api/axios' import { DateTime } from 'luxon' diff --git a/web/src/api/fbaCalcAPI.ts b/web/packages/api/src/fbaCalcAPI.ts similarity index 100% rename from web/src/api/fbaCalcAPI.ts rename to web/packages/api/src/fbaCalcAPI.ts diff --git a/web/src/api/forecastAPI.ts b/web/packages/api/src/forecastAPI.ts similarity index 100% rename from web/src/api/forecastAPI.ts rename to web/packages/api/src/forecastAPI.ts diff --git a/web/src/api/hfiCalculatorAPI.ts b/web/packages/api/src/hfiCalculatorAPI.ts similarity index 81% rename from web/src/api/hfiCalculatorAPI.ts rename to web/packages/api/src/hfiCalculatorAPI.ts index 60d3f717ef..01552dfc84 100644 --- a/web/src/api/hfiCalculatorAPI.ts +++ b/web/packages/api/src/hfiCalculatorAPI.ts @@ -1,12 +1,79 @@ import axios from 'api/axios' -import { StationAdminRow } from 'features/hfiCalculator/components/stationAdmin/ManageStationsModal' -import { - HFIResultResponse, - PlanningAreaResult, - PrepDateRange, - RawHFIResultResponse -} from 'features/hfiCalculator/slices/hfiCalculatorSlice' import { DateTime } from 'luxon' + +export interface FireStartRange { + label: string + id: number +} + +export interface PrepDateRange { + start_date: string + end_date: string +} + +export interface StationInfo { + station_code: number + selected: boolean + fuel_type_id: number +} + +export interface ValidatedStationDaily { + daily: StationDaily + valid: boolean +} + +export interface RawValidatedStationDaily { + daily: RawDaily + valid: boolean +} + +export interface DailyResult { + date: DateTime + dailies: ValidatedStationDaily[] + mean_intensity_group: number | undefined + prep_level: number | undefined + fire_starts: FireStartRange +} + +export interface RawDailyResult { + date: string + dailies: RawValidatedStationDaily[] + mean_intensity_group: number | undefined + prep_level: number | undefined + fire_starts: FireStartRange +} + +export interface PlanningAreaResult { + planning_area_id: number + all_dailies_valid: boolean + highest_daily_intensity_group: number + mean_prep_level: number | undefined + daily_results: DailyResult[] +} + +export interface RawPlanningAreaResult { + planning_area_id: number + all_dailies_valid: boolean + highest_daily_intensity_group: number + mean_prep_level: number | undefined + daily_results: RawDailyResult[] +} + +export interface HFIResultResponse { + date_range: PrepDateRange + selected_fire_center_id: number + planning_area_station_info: { [key: number]: StationInfo[] } + planning_area_hfi_results: PlanningAreaResult[] + fire_start_ranges: FireStartRange[] +} + +export interface RawHFIResultResponse { + date_range: PrepDateRange + selected_fire_center_id: number + planning_area_station_info: { [key: number]: StationInfo[] } + planning_area_hfi_results: RawPlanningAreaResult[] + fire_start_ranges: FireStartRange[] +} import { PACIFIC_IANA_TIMEZONE } from 'utils/constants' import { formatISODateInPST } from 'utils/date' @@ -115,8 +182,10 @@ export interface HFIAllReadyStatesResponse { * RawDaily is the daily representation over the wire (a string date) * that we then marshall that into an object with a DateTime */ -export interface RawReadyPlanningAreaDetails - extends Omit { +export interface RawReadyPlanningAreaDetails extends Omit< + ReadyPlanningAreaDetails, + 'create_timestamp' | 'update_timestamp' +> { create_timestamp: string update_timestamp: string } @@ -147,6 +216,22 @@ export interface HFIAdminStationUpdateRequest { date_range?: PrepDateRange } +export interface BasicPlanningArea { + id: number + name: string +} +export interface BasicWFWXStation { + code: number + name: string +} + +export interface StationAdminRow { + planningAreaId: number + rowId: number + station?: BasicWFWXStation + fuelType?: Pick +} + const baseUrl = '/hfi-calc/' export async function getHFIStations(): Promise { diff --git a/web/src/api/modelAPI.ts b/web/packages/api/src/modelAPI.ts similarity index 100% rename from web/src/api/modelAPI.ts rename to web/packages/api/src/modelAPI.ts diff --git a/web/src/api/moreCast2API.test.ts b/web/packages/api/src/moreCast2API.test.ts similarity index 98% rename from web/src/api/moreCast2API.test.ts rename to web/packages/api/src/moreCast2API.test.ts index a7c689714d..f1347f33ad 100644 --- a/web/src/api/moreCast2API.test.ts +++ b/web/packages/api/src/moreCast2API.test.ts @@ -2,11 +2,11 @@ import { marshalMoreCast2ForecastRecords, submitMoreCastForecastRecords, fetchWeatherIndeterminates, - WeatherDeterminate + WeatherDeterminate, + MoreCast2ForecastRow } from 'api/moreCast2API' import axios from 'api/axios' import { DateTime } from 'luxon' -import { MoreCast2ForecastRow } from 'features/moreCast2/interfaces' import { vi } from 'vitest' describe('moreCast2API', () => { diff --git a/web/src/api/moreCast2API.ts b/web/packages/api/src/moreCast2API.ts similarity index 94% rename from web/src/api/moreCast2API.ts rename to web/packages/api/src/moreCast2API.ts index 8d88c8aa80..70f25c27aa 100644 --- a/web/src/api/moreCast2API.ts +++ b/web/packages/api/src/moreCast2API.ts @@ -1,7 +1,24 @@ import axios from 'api/axios' import { isEqual } from 'lodash' import { DateTime } from 'luxon' -import { MoreCast2ForecastRow } from 'features/moreCast2/interfaces' + +export interface PredictionItem { + choice: ModelType + value: number +} + +export interface MoreCast2ForecastRow { + id: string + forDate: DateTime + precip: PredictionItem + rh: PredictionItem + stationCode: number + stationName: string + temp: PredictionItem + windDirection: PredictionItem + windSpeed: PredictionItem + grassCuring: PredictionItem +} export enum ModelChoice { ACTUAL = 'ACTUAL', diff --git a/web/src/api/observationAPI.ts b/web/packages/api/src/observationAPI.ts similarity index 100% rename from web/src/api/observationAPI.ts rename to web/packages/api/src/observationAPI.ts diff --git a/web/src/api/percentileAPI.ts b/web/packages/api/src/percentileAPI.ts similarity index 100% rename from web/src/api/percentileAPI.ts rename to web/packages/api/src/percentileAPI.ts diff --git a/web/src/api/snow.ts b/web/packages/api/src/snow.ts similarity index 100% rename from web/src/api/snow.ts rename to web/packages/api/src/snow.ts diff --git a/web/src/api/stationAPI.test.ts b/web/packages/api/src/stationAPI.test.ts similarity index 100% rename from web/src/api/stationAPI.test.ts rename to web/packages/api/src/stationAPI.test.ts diff --git a/web/src/api/stationAPI.ts b/web/packages/api/src/stationAPI.ts similarity index 100% rename from web/src/api/stationAPI.ts rename to web/packages/api/src/stationAPI.ts diff --git a/web/packages/api/tsconfig.json b/web/packages/api/tsconfig.json new file mode 100644 index 0000000000..8eb5f0f60e --- /dev/null +++ b/web/packages/api/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "@wps/tsconfig/base.json", + "compilerOptions": { + "moduleResolution": "bundler", + "module": "esnext", + "target": "es2015", + "lib": ["dom", "dom.iterable", "esnext"], + "noEmit": true, + "types": ["vite/client", "vitest/globals"], + "baseUrl": ".", + "paths": { + "api/*": ["./src/*"], + "utils/*": ["../utils/src/*"] + } + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "../utils/src/**/*.ts", "../utils/src/**/*.tsx", "../types/src"] +} diff --git a/web/packages/tsconfig/base.json b/web/packages/tsconfig/base.json new file mode 100644 index 0000000000..49b3d05209 --- /dev/null +++ b/web/packages/tsconfig/base.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "strict": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "noFallthroughCasesInSwitch": true + } +} diff --git a/web/packages/tsconfig/package.json b/web/packages/tsconfig/package.json new file mode 100644 index 0000000000..54cac9a370 --- /dev/null +++ b/web/packages/tsconfig/package.json @@ -0,0 +1,9 @@ +{ + "name": "@wps/tsconfig", + "version": "0.0.0", + "private": true, + "exports": { + "./base.json": "./base.json", + "./react-app.json": "./react-app.json" + } +} diff --git a/web/packages/tsconfig/react-app.json b/web/packages/tsconfig/react-app.json new file mode 100644 index 0000000000..8ca1a9f502 --- /dev/null +++ b/web/packages/tsconfig/react-app.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "./base.json", + "compilerOptions": { + "composite": true, + "useDefineForClassFields": true, + "moduleResolution": "bundler", + "jsxImportSource": "@emotion/react", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + "target": "es2015", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "module": "esnext" + } +} diff --git a/web/packages/types/package.json b/web/packages/types/package.json new file mode 100644 index 0000000000..90919c3355 --- /dev/null +++ b/web/packages/types/package.json @@ -0,0 +1,5 @@ +{ + "name": "@wps/types", + "version": "0.0.0", + "private": true +} diff --git a/web/src/types/window.d.ts b/web/packages/types/src/window.d.ts similarity index 100% rename from web/src/types/window.d.ts rename to web/packages/types/src/window.d.ts diff --git a/web/packages/types/tsconfig.json b/web/packages/types/tsconfig.json new file mode 100644 index 0000000000..31e96e6767 --- /dev/null +++ b/web/packages/types/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "@wps/tsconfig/base.json", + "compilerOptions": { + "composite": true, + "noEmit": false, + "declaration": true, + "declarationMap": true, + "outDir": "dist" + }, + "include": ["src"] +} diff --git a/web/packages/ui/package.json b/web/packages/ui/package.json new file mode 100644 index 0000000000..724f35b501 --- /dev/null +++ b/web/packages/ui/package.json @@ -0,0 +1,8 @@ +{ + "name": "@wps/ui", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "tsc --noEmit -p tsconfig.json" + } +} diff --git a/web/src/components/AboutDataPopover.tsx b/web/packages/ui/src/AboutDataPopover.tsx similarity index 100% rename from web/src/components/AboutDataPopover.tsx rename to web/packages/ui/src/AboutDataPopover.tsx diff --git a/web/src/components/Button.tsx b/web/packages/ui/src/Button.tsx similarity index 100% rename from web/src/components/Button.tsx rename to web/packages/ui/src/Button.tsx diff --git a/web/src/components/Container.tsx b/web/packages/ui/src/Container.tsx similarity index 100% rename from web/src/components/Container.tsx rename to web/packages/ui/src/Container.tsx diff --git a/web/src/components/DateRangeSelector.tsx b/web/packages/ui/src/DateRangeSelector.tsx similarity index 100% rename from web/src/components/DateRangeSelector.tsx rename to web/packages/ui/src/DateRangeSelector.tsx diff --git a/web/src/components/ErrorBoundary.tsx b/web/packages/ui/src/ErrorBoundary.tsx similarity index 100% rename from web/src/components/ErrorBoundary.tsx rename to web/packages/ui/src/ErrorBoundary.tsx diff --git a/web/src/components/ErrorMessage.tsx b/web/packages/ui/src/ErrorMessage.tsx similarity index 100% rename from web/src/components/ErrorMessage.tsx rename to web/packages/ui/src/ErrorMessage.tsx diff --git a/web/src/components/FeedbackButton.tsx b/web/packages/ui/src/FeedbackButton.tsx similarity index 100% rename from web/src/components/FeedbackButton.tsx rename to web/packages/ui/src/FeedbackButton.tsx diff --git a/web/src/components/FireCenterDropdown.tsx b/web/packages/ui/src/FireCenterDropdown.tsx similarity index 100% rename from web/src/components/FireCenterDropdown.tsx rename to web/packages/ui/src/FireCenterDropdown.tsx diff --git a/web/src/components/FireTable.tsx b/web/packages/ui/src/FireTable.tsx similarity index 100% rename from web/src/components/FireTable.tsx rename to web/packages/ui/src/FireTable.tsx diff --git a/web/src/components/GeneralHeader.tsx b/web/packages/ui/src/GeneralHeader.tsx similarity index 100% rename from web/src/components/GeneralHeader.tsx rename to web/packages/ui/src/GeneralHeader.tsx diff --git a/web/src/components/Grid.tsx b/web/packages/ui/src/Grid.tsx similarity index 100% rename from web/src/components/Grid.tsx rename to web/packages/ui/src/Grid.tsx diff --git a/web/src/components/HeaderImage.tsx b/web/packages/ui/src/HeaderImage.tsx similarity index 100% rename from web/src/components/HeaderImage.tsx rename to web/packages/ui/src/HeaderImage.tsx diff --git a/web/src/components/PageTitle.tsx b/web/packages/ui/src/PageTitle.tsx similarity index 100% rename from web/src/components/PageTitle.tsx rename to web/packages/ui/src/PageTitle.tsx diff --git a/web/src/components/ResetDialog.tsx b/web/packages/ui/src/ResetDialog.tsx similarity index 100% rename from web/src/components/ResetDialog.tsx rename to web/packages/ui/src/ResetDialog.tsx diff --git a/web/src/components/Slider.tsx b/web/packages/ui/src/Slider.tsx similarity index 100% rename from web/src/components/Slider.tsx rename to web/packages/ui/src/Slider.tsx diff --git a/web/src/components/StickyCell.tsx b/web/packages/ui/src/StickyCell.tsx similarity index 100% rename from web/src/components/StickyCell.tsx rename to web/packages/ui/src/StickyCell.tsx diff --git a/web/src/components/StyledFormControl.tsx b/web/packages/ui/src/StyledFormControl.tsx similarity index 100% rename from web/src/components/StyledFormControl.tsx rename to web/packages/ui/src/StyledFormControl.tsx diff --git a/web/src/components/WPSDatePicker.tsx b/web/packages/ui/src/WPSDatePicker.tsx similarity index 100% rename from web/src/components/WPSDatePicker.tsx rename to web/packages/ui/src/WPSDatePicker.tsx diff --git a/web/src/components/aboutDataPopover.test.tsx b/web/packages/ui/src/aboutDataPopover.test.tsx similarity index 66% rename from web/src/components/aboutDataPopover.test.tsx rename to web/packages/ui/src/aboutDataPopover.test.tsx index fb72f44dca..823f0757ba 100644 --- a/web/src/components/aboutDataPopover.test.tsx +++ b/web/packages/ui/src/aboutDataPopover.test.tsx @@ -1,24 +1,26 @@ import React from 'react' import { fireEvent, render, screen, waitFor } from '@testing-library/react' -import AboutDataPopover from '@/components/AboutDataPopover' -import { FBAAboutDataContent } from '@/features/fbaCalculator/components/FbaAboutDataContent' -import { ADVISORY_THRESHOLD, ASAAboutDataContent } from '@/features/fba/components/ASAAboutDataContent' +import AboutDataPopover from './AboutDataPopover' + +const ADVISORY_THRESHOLD = 4000 +const staticContent = () =>
test content
+const thresholdContent = () =>
{ADVISORY_THRESHOLD}%
describe('AboutDataPopover', () => { it('should render the About Data Popover with static content', () => { - const { getByTestId } = render() + const { getByTestId } = render() const aboutData = getByTestId('about-data-popover') expect(aboutData).toBeInTheDocument() }) it('should open the popover when clicked', () => { - render() + render() fireEvent.click(screen.getByTestId('about-data-trigger')) expect(screen.getByTestId('about-data-content')).toBeVisible() }) it('should close the popover when clicking outside of it', async () => { - render() + render() fireEvent.click(screen.getByTestId('about-data-trigger')) expect(screen.getByTestId('about-data-content')).toBeVisible() @@ -28,7 +30,7 @@ describe('AboutDataPopover', () => { }) }) it('should contain the advisory threshold as a percent if passed as a prop', () => { - render() + render() fireEvent.click(screen.getByTestId('about-data-trigger')) diff --git a/web/src/components/dateRangePicker/DateRangePicker.tsx b/web/packages/ui/src/dateRangePicker/DateRangePicker.tsx similarity index 100% rename from web/src/components/dateRangePicker/DateRangePicker.tsx rename to web/packages/ui/src/dateRangePicker/DateRangePicker.tsx diff --git a/web/src/components/dateRangePicker/DateRangePickerWrapper.tsx b/web/packages/ui/src/dateRangePicker/DateRangePickerWrapper.tsx similarity index 100% rename from web/src/components/dateRangePicker/DateRangePickerWrapper.tsx rename to web/packages/ui/src/dateRangePicker/DateRangePickerWrapper.tsx diff --git a/web/src/components/dateRangePicker/Day.tsx b/web/packages/ui/src/dateRangePicker/Day.tsx similarity index 100% rename from web/src/components/dateRangePicker/Day.tsx rename to web/packages/ui/src/dateRangePicker/Day.tsx diff --git a/web/src/components/dateRangePicker/Header.tsx b/web/packages/ui/src/dateRangePicker/Header.tsx similarity index 100% rename from web/src/components/dateRangePicker/Header.tsx rename to web/packages/ui/src/dateRangePicker/Header.tsx diff --git a/web/src/components/dateRangePicker/LICENSE b/web/packages/ui/src/dateRangePicker/LICENSE similarity index 100% rename from web/src/components/dateRangePicker/LICENSE rename to web/packages/ui/src/dateRangePicker/LICENSE diff --git a/web/src/components/dateRangePicker/Menu.tsx b/web/packages/ui/src/dateRangePicker/Menu.tsx similarity index 100% rename from web/src/components/dateRangePicker/Menu.tsx rename to web/packages/ui/src/dateRangePicker/Menu.tsx diff --git a/web/src/components/dateRangePicker/Month.tsx b/web/packages/ui/src/dateRangePicker/Month.tsx similarity index 100% rename from web/src/components/dateRangePicker/Month.tsx rename to web/packages/ui/src/dateRangePicker/Month.tsx diff --git a/web/src/components/dateRangePicker/README.md b/web/packages/ui/src/dateRangePicker/README.md similarity index 100% rename from web/src/components/dateRangePicker/README.md rename to web/packages/ui/src/dateRangePicker/README.md diff --git a/web/src/components/dateRangePicker/dateRangePickerWrapper.test.tsx b/web/packages/ui/src/dateRangePicker/dateRangePickerWrapper.test.tsx similarity index 100% rename from web/src/components/dateRangePicker/dateRangePickerWrapper.test.tsx rename to web/packages/ui/src/dateRangePicker/dateRangePickerWrapper.test.tsx diff --git a/web/src/components/dateRangePicker/menu.test.tsx b/web/packages/ui/src/dateRangePicker/menu.test.tsx similarity index 100% rename from web/src/components/dateRangePicker/menu.test.tsx rename to web/packages/ui/src/dateRangePicker/menu.test.tsx diff --git a/web/src/components/dateRangePicker/month.test.tsx b/web/packages/ui/src/dateRangePicker/month.test.tsx similarity index 100% rename from web/src/components/dateRangePicker/month.test.tsx rename to web/packages/ui/src/dateRangePicker/month.test.tsx diff --git a/web/src/components/dateRangePicker/types.ts b/web/packages/ui/src/dateRangePicker/types.ts similarity index 100% rename from web/src/components/dateRangePicker/types.ts rename to web/packages/ui/src/dateRangePicker/types.ts diff --git a/web/src/components/dateRangePicker/utils.test.tsx b/web/packages/ui/src/dateRangePicker/utils.test.tsx similarity index 100% rename from web/src/components/dateRangePicker/utils.test.tsx rename to web/packages/ui/src/dateRangePicker/utils.test.tsx diff --git a/web/src/components/dateRangePicker/utils.ts b/web/packages/ui/src/dateRangePicker/utils.ts similarity index 100% rename from web/src/components/dateRangePicker/utils.ts rename to web/packages/ui/src/dateRangePicker/utils.ts diff --git a/web/src/components/fireTable.test.tsx b/web/packages/ui/src/fireTable.test.tsx similarity index 100% rename from web/src/components/fireTable.test.tsx rename to web/packages/ui/src/fireTable.test.tsx diff --git a/web/src/components/index.ts b/web/packages/ui/src/index.ts similarity index 100% rename from web/src/components/index.ts rename to web/packages/ui/src/index.ts diff --git a/web/src/components/resetDialog.test.tsx b/web/packages/ui/src/resetDialog.test.tsx similarity index 97% rename from web/src/components/resetDialog.test.tsx rename to web/packages/ui/src/resetDialog.test.tsx index f9a6b7d171..088496def2 100644 --- a/web/src/components/resetDialog.test.tsx +++ b/web/packages/ui/src/resetDialog.test.tsx @@ -1,5 +1,5 @@ import { render } from '@testing-library/react' -import ResetDialog from '@/components/ResetDialog' +import ResetDialog from './ResetDialog' import { vi } from 'vitest' const MESSAGE = "Test" diff --git a/web/src/components/stickyCell.test.tsx b/web/packages/ui/src/stickyCell.test.tsx similarity index 100% rename from web/src/components/stickyCell.test.tsx rename to web/packages/ui/src/stickyCell.test.tsx diff --git a/web/src/app/theme.ts b/web/packages/ui/src/theme.ts similarity index 100% rename from web/src/app/theme.ts rename to web/packages/ui/src/theme.ts diff --git a/web/packages/ui/tsconfig.json b/web/packages/ui/tsconfig.json new file mode 100644 index 0000000000..0d96ffb9d1 --- /dev/null +++ b/web/packages/ui/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "@wps/tsconfig/react-app.json", + "compilerOptions": { + "baseUrl": ".", + "types": ["vite/client", "vitest/globals", "@testing-library/jest-dom"], + "paths": { + "app/theme": ["./src/theme"], + "api/*": ["../api/src/*"], + "utils/*": ["../utils/src/*"], + "components/*": ["./src/*"], + "components": ["./src/index"] + } + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "../api/src/**/*.ts", "../api/src/**/*.tsx", "../utils/src/**/*.ts", "../utils/src/**/*.tsx", "../types/src"] +} diff --git a/web/packages/utils/package.json b/web/packages/utils/package.json new file mode 100644 index 0000000000..38b4e202ad --- /dev/null +++ b/web/packages/utils/package.json @@ -0,0 +1,8 @@ +{ + "name": "@wps/utils", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "tsc --noEmit -p tsconfig.json" + } +} diff --git a/web/src/utils/constants.ts b/web/packages/utils/src/constants.ts similarity index 100% rename from web/src/utils/constants.ts rename to web/packages/utils/src/constants.ts diff --git a/web/src/utils/date.test.ts b/web/packages/utils/src/date.test.ts similarity index 100% rename from web/src/utils/date.test.ts rename to web/packages/utils/src/date.test.ts diff --git a/web/src/utils/date.ts b/web/packages/utils/src/date.ts similarity index 100% rename from web/src/utils/date.ts rename to web/packages/utils/src/date.ts diff --git a/web/src/utils/dropdown.test.ts b/web/packages/utils/src/dropdown.test.ts similarity index 100% rename from web/src/utils/dropdown.test.ts rename to web/packages/utils/src/dropdown.test.ts diff --git a/web/src/utils/dropdown.ts b/web/packages/utils/src/dropdown.ts similarity index 100% rename from web/src/utils/dropdown.ts rename to web/packages/utils/src/dropdown.ts diff --git a/web/src/utils/env.ts b/web/packages/utils/src/env.ts similarity index 100% rename from web/src/utils/env.ts rename to web/packages/utils/src/env.ts diff --git a/web/src/utils/error.ts b/web/packages/utils/src/error.ts similarity index 100% rename from web/src/utils/error.ts rename to web/packages/utils/src/error.ts diff --git a/web/src/utils/format.ts b/web/packages/utils/src/format.ts similarity index 100% rename from web/src/utils/format.ts rename to web/packages/utils/src/format.ts diff --git a/web/src/utils/fwi/bui.ts b/web/packages/utils/src/fwi/bui.ts similarity index 100% rename from web/src/utils/fwi/bui.ts rename to web/packages/utils/src/fwi/bui.ts diff --git a/web/src/utils/fwi/dc.ts b/web/packages/utils/src/fwi/dc.ts similarity index 100% rename from web/src/utils/fwi/dc.ts rename to web/packages/utils/src/fwi/dc.ts diff --git a/web/src/utils/fwi/dmc.ts b/web/packages/utils/src/fwi/dmc.ts similarity index 100% rename from web/src/utils/fwi/dmc.ts rename to web/packages/utils/src/fwi/dmc.ts diff --git a/web/src/utils/fwi/ffmc.ts b/web/packages/utils/src/fwi/ffmc.ts similarity index 100% rename from web/src/utils/fwi/ffmc.ts rename to web/packages/utils/src/fwi/ffmc.ts diff --git a/web/src/utils/fwi/fwi.ts b/web/packages/utils/src/fwi/fwi.ts similarity index 100% rename from web/src/utils/fwi/fwi.ts rename to web/packages/utils/src/fwi/fwi.ts diff --git a/web/src/utils/fwi/index.ts b/web/packages/utils/src/fwi/index.ts similarity index 100% rename from web/src/utils/fwi/index.ts rename to web/packages/utils/src/fwi/index.ts diff --git a/web/src/utils/fwi/isi.ts b/web/packages/utils/src/fwi/isi.ts similarity index 100% rename from web/src/utils/fwi/isi.ts rename to web/packages/utils/src/fwi/isi.ts diff --git a/web/src/utils/getError.test.ts b/web/packages/utils/src/getError.test.ts similarity index 100% rename from web/src/utils/getError.test.ts rename to web/packages/utils/src/getError.test.ts diff --git a/web/src/utils/getError.ts b/web/packages/utils/src/getError.ts similarity index 100% rename from web/src/utils/getError.ts rename to web/packages/utils/src/getError.ts diff --git a/web/src/utils/strings.ts b/web/packages/utils/src/strings.ts similarity index 100% rename from web/src/utils/strings.ts rename to web/packages/utils/src/strings.ts diff --git a/web/src/utils/url.test.ts b/web/packages/utils/src/url.test.ts similarity index 100% rename from web/src/utils/url.test.ts rename to web/packages/utils/src/url.test.ts diff --git a/web/src/utils/url.ts b/web/packages/utils/src/url.ts similarity index 100% rename from web/src/utils/url.ts rename to web/packages/utils/src/url.ts diff --git a/web/src/utils/vectorLayerUtils.test.ts b/web/packages/utils/src/vectorLayerUtils.test.ts similarity index 98% rename from web/src/utils/vectorLayerUtils.test.ts rename to web/packages/utils/src/vectorLayerUtils.test.ts index efcd40fece..b32215b2f9 100644 --- a/web/src/utils/vectorLayerUtils.test.ts +++ b/web/packages/utils/src/vectorLayerUtils.test.ts @@ -1,5 +1,5 @@ import { afterEach, describe, expect, it, vi } from 'vitest' -import { createHillshadeVectorTileLayer, createVectorTileLayer, getStyleJson } from '@/utils/vectorLayerUtils' +import { createHillshadeVectorTileLayer, createVectorTileLayer, getStyleJson } from './vectorLayerUtils' import axios from 'axios' import { applyStyle } from 'ol-mapbox-style' diff --git a/web/src/utils/vectorLayerUtils.ts b/web/packages/utils/src/vectorLayerUtils.ts similarity index 100% rename from web/src/utils/vectorLayerUtils.ts rename to web/packages/utils/src/vectorLayerUtils.ts diff --git a/web/packages/utils/tsconfig.json b/web/packages/utils/tsconfig.json new file mode 100644 index 0000000000..fa783d73d4 --- /dev/null +++ b/web/packages/utils/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "@wps/tsconfig/base.json", + "compilerOptions": { + "moduleResolution": "bundler", + "module": "esnext", + "target": "es2015", + "lib": ["dom", "dom.iterable", "esnext"], + "jsx": "react-jsx", + "noEmit": true, + "types": ["vite/client", "vitest/globals"], + "baseUrl": ".", + "paths": { + "utils/*": ["./src/*"], + "api/*": ["../api/src/*"] + } + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "../types/src"] +} diff --git a/web/tsconfig.app.json b/web/tsconfig.app.json deleted file mode 100644 index c2a432d091..0000000000 --- a/web/tsconfig.app.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", - "useDefineForClassFields": true, - /* Bundler mode */ - "moduleResolution": "bundler", - "jsxImportSource": "@emotion/react", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "moduleDetection": "force", - "noEmit": true, - "jsx": "react-jsx", - /* Linting */ - "strict": true, - "types": ["vite/client", "node", "vitest/globals", "@testing-library/jest-dom"], - "noUnusedLocals": false, - // "noUnusedParameters": , - "noFallthroughCasesInSwitch": true, - //from old - "target": "es2015", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "module": "esnext", - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"], - "#root/*": ["./*"], - "app/*": ["./src/app/*"], - "utils/*": ["./src/utils/*"], - "api/*": ["./src/api/*"], - "features/*": ["./src/features/*"], - "components/*": ["src/components/*"], - "components": ["./src/components/index"], - "commonSlices/*": ["./src/commonSlices/*"] - } - }, - "include": ["src"] -} diff --git a/web/tsconfig.json b/web/tsconfig.json index fcf5db7f84..17159e82bc 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -1,11 +1,10 @@ { "files": [], "references": [ - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.node.json" - } - ], -} \ No newline at end of file + { "path": "apps/wps-web" }, + { "path": "packages/api" }, + { "path": "packages/utils" }, + { "path": "packages/ui" }, + { "path": "packages/types" } + ] +} diff --git a/web/turbo.json b/web/turbo.json new file mode 100644 index 0000000000..7cdfd5d539 --- /dev/null +++ b/web/turbo.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://turbo.build/schema.json", + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**", "build/**"], + "passThroughEnv": ["SENTRY_AUTH_TOKEN"] + }, + "@wps/api#build": { + "dependsOn": ["^build"], + "outputs": [] + }, + "@wps/ui#build": { + "dependsOn": ["^build"], + "outputs": [] + }, + "@wps/utils#build": { + "dependsOn": ["^build"], + "outputs": [] + }, + "test": { + "dependsOn": ["^build"], + "outputs": ["coverage/**"] + }, + "lint": { + "outputs": [] + }, + "dev": { + "cache": false, + "persistent": true + } + } +} diff --git a/web/yarn.lock b/web/yarn.lock index f4a018f15d..eb3287254c 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -12,36 +12,16 @@ __metadata: languageName: node linkType: hard -"@asamuzakjp/css-color@npm:^5.0.1": - version: 5.0.1 - resolution: "@asamuzakjp/css-color@npm:5.0.1" - dependencies: - "@csstools/css-calc": "npm:^3.1.1" - "@csstools/css-color-parser": "npm:^4.0.2" - "@csstools/css-parser-algorithms": "npm:^4.0.0" - "@csstools/css-tokenizer": "npm:^4.0.0" - lru-cache: "npm:^11.2.6" - checksum: 10c0/3e8d74a3b7f3005a325cb8e7f3da1aa32aeac4cd9ce387826dc25b16eaab4dc0e4a6faded8ccc1895959141f4a4a70e8bc38723347b89667b7b224990d16683c - languageName: node - linkType: hard - -"@asamuzakjp/dom-selector@npm:^7.0.2": - version: 7.0.3 - resolution: "@asamuzakjp/dom-selector@npm:7.0.3" +"@asamuzakjp/css-color@npm:^3.2.0": + version: 3.2.0 + resolution: "@asamuzakjp/css-color@npm:3.2.0" dependencies: - "@asamuzakjp/nwsapi": "npm:^2.3.9" - bidi-js: "npm:^1.0.3" - css-tree: "npm:^3.2.1" - is-potential-custom-element-name: "npm:^1.0.1" - lru-cache: "npm:^11.2.7" - checksum: 10c0/c64b06a23479970ded4f38bec34069e98f4062b4ecb798b81b1fc37b5472ec6110d5bd9d8a267bfc431503f6ee3080c2e94eb3d99e30aaa1b6d9f83fbd2744fa - languageName: node - linkType: hard - -"@asamuzakjp/nwsapi@npm:^2.3.9": - version: 2.3.9 - resolution: "@asamuzakjp/nwsapi@npm:2.3.9" - checksum: 10c0/869b81382e775499c96c45c6dbe0d0766a6da04bcf0abb79f5333535c4e19946851acaa43398f896e2ecc5a1de9cf3db7cf8c4b1afac1ee3d15e21584546d74d + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + lru-cache: "npm:^10.4.3" + checksum: 10c0/a4bf1c831751b1fae46b437e37e8a38c0b5bd58d23230157ae210bd1e905fe509b89b7c243e63d1522d852668a6292ed730a160e21342772b4e5b7b8ea14c092 languageName: node linkType: hard @@ -1179,72 +1159,49 @@ __metadata: languageName: node linkType: hard -"@bramus/specificity@npm:^2.4.2": - version: 2.4.2 - resolution: "@bramus/specificity@npm:2.4.2" - dependencies: - css-tree: "npm:^3.0.0" - bin: - specificity: bin/cli.js - checksum: 10c0/c5f4e04e0bca0d2202598207a5eb0733c8109d12a68a329caa26373bec598d99db5bb785b8865fefa00fc01b08c6068138807ceb11a948fe15e904ed6cf4ba72 - languageName: node - linkType: hard - -"@csstools/color-helpers@npm:^6.0.2": - version: 6.0.2 - resolution: "@csstools/color-helpers@npm:6.0.2" - checksum: 10c0/4c66574563d7c960010c11e41c2673675baff07c427cca6e8dddffa5777de45770d13ff3efce1c0642798089ad55de52870d9d8141f78db3fa5bba012f2d3789 +"@csstools/color-helpers@npm:^5.1.0": + version: 5.1.0 + resolution: "@csstools/color-helpers@npm:5.1.0" + checksum: 10c0/b7f99d2e455cf1c9b41a67a5327d5d02888cd5c8802a68b1887dffef537d9d4bc66b3c10c1e62b40bbed638b6c1d60b85a232f904ed7b39809c4029cb36567db languageName: node linkType: hard -"@csstools/css-calc@npm:^3.1.1": - version: 3.1.1 - resolution: "@csstools/css-calc@npm:3.1.1" +"@csstools/css-calc@npm:^2.1.3, @csstools/css-calc@npm:^2.1.4": + version: 2.1.4 + resolution: "@csstools/css-calc@npm:2.1.4" peerDependencies: - "@csstools/css-parser-algorithms": ^4.0.0 - "@csstools/css-tokenizer": ^4.0.0 - checksum: 10c0/6efcc016d988edf66e54c7bad03e352d61752cbd1b56c7557fd013868aab23505052ded8f912cd4034e216943ea1e04c957d81012489e3eddc14a57b386510ef + "@csstools/css-parser-algorithms": ^3.0.5 + "@csstools/css-tokenizer": ^3.0.4 + checksum: 10c0/42ce5793e55ec4d772083808a11e9fb2dfe36db3ec168713069a276b4c3882205b3507c4680224c28a5d35fe0bc2d308c77f8f2c39c7c09aad8747708eb8ddd8 languageName: node linkType: hard -"@csstools/css-color-parser@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/css-color-parser@npm:4.0.2" +"@csstools/css-color-parser@npm:^3.0.9": + version: 3.1.0 + resolution: "@csstools/css-color-parser@npm:3.1.0" dependencies: - "@csstools/color-helpers": "npm:^6.0.2" - "@csstools/css-calc": "npm:^3.1.1" - peerDependencies: - "@csstools/css-parser-algorithms": ^4.0.0 - "@csstools/css-tokenizer": ^4.0.0 - checksum: 10c0/487cf507ef4630f74bd67d84298294ed269900b206ade015a968d20047e07ff46f235b72e26fe0c6b949a03f8f9f00a22c363da49c1b06ca60b32d0188e546be - languageName: node - linkType: hard - -"@csstools/css-parser-algorithms@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/css-parser-algorithms@npm:4.0.0" + "@csstools/color-helpers": "npm:^5.1.0" + "@csstools/css-calc": "npm:^2.1.4" peerDependencies: - "@csstools/css-tokenizer": ^4.0.0 - checksum: 10c0/94558c2428d6ef0ddef542e86e0a8376aa1263a12a59770abb13ba50d7b83086822c75433f32aa2e7fef00555e1cc88292f9ca5bce79aed232bb3fed73b1528d + "@csstools/css-parser-algorithms": ^3.0.5 + "@csstools/css-tokenizer": ^3.0.4 + checksum: 10c0/0e0c670ad54ec8ec4d9b07568b80defd83b9482191f5e8ca84ab546b7be6db5d7cc2ba7ac9fae54488b129a4be235d6183d3aab4416fec5e89351f73af4222c5 languageName: node linkType: hard -"@csstools/css-syntax-patches-for-csstree@npm:^1.1.1": - version: 1.1.1 - resolution: "@csstools/css-syntax-patches-for-csstree@npm:1.1.1" +"@csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.5 + resolution: "@csstools/css-parser-algorithms@npm:3.0.5" peerDependencies: - css-tree: ^3.2.1 - peerDependenciesMeta: - css-tree: - optional: true - checksum: 10c0/947f82e9e8af0512f1d6600f68da1bbe8d15112fa73435169608a68dcf20262ae517c799202c86a6c3bc889d0e9fab724ad5661a3aa98432390f8f9765b86ddc + "@csstools/css-tokenizer": ^3.0.4 + checksum: 10c0/d9a1c888bd43849ae3437ca39251d5c95d2c8fd6b5ccdb7c45491dfd2c1cbdc3075645e80901d120e4d2c1993db9a5b2d83793b779dbbabcfb132adb142eb7f7 languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/css-tokenizer@npm:4.0.0" - checksum: 10c0/669cf3d0f9c8e1ffdf8c9955ad8beba0c8cfe03197fe29a4fcbd9ee6f7a18856cfa42c62670021a75183d9ab37f5d14a866e6a9df753a6c07f59e36797a9ea9f +"@csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.4 + resolution: "@csstools/css-tokenizer@npm:3.0.4" + checksum: 10c0/3b589f8e9942075a642213b389bab75a2d50d05d203727fcdac6827648a5572674caff07907eff3f9a2389d86a4ee47308fafe4f8588f4a77b7167c588d2559f languageName: node linkType: hard @@ -1763,18 +1720,6 @@ __metadata: languageName: node linkType: hard -"@exodus/bytes@npm:^1.11.0, @exodus/bytes@npm:^1.15.0, @exodus/bytes@npm:^1.6.0": - version: 1.15.0 - resolution: "@exodus/bytes@npm:1.15.0" - peerDependencies: - "@noble/hashes": ^1.8.0 || ^2.0.0 - peerDependenciesMeta: - "@noble/hashes": - optional: true - checksum: 10c0/b48aad9729653385d6ed055c28cfcf0b1b1481cf5d83f4375c12abd7988f1d20f69c80b5f95d4a1cc24d9abe32b9efc352a812d53884c26efea172aca8b6356d - languageName: node - linkType: hard - "@floating-ui/core@npm:^1.7.5": version: 1.7.5 resolution: "@floating-ui/core@npm:1.7.5" @@ -4074,6 +4019,126 @@ __metadata: languageName: node linkType: hard +"@wps/api@workspace:*, @wps/api@workspace:packages/api": + version: 0.0.0-use.local + resolution: "@wps/api@workspace:packages/api" + languageName: unknown + linkType: soft + +"@wps/tsconfig@workspace:*, @wps/tsconfig@workspace:packages/tsconfig": + version: 0.0.0-use.local + resolution: "@wps/tsconfig@workspace:packages/tsconfig" + languageName: unknown + linkType: soft + +"@wps/types@workspace:*, @wps/types@workspace:packages/types": + version: 0.0.0-use.local + resolution: "@wps/types@workspace:packages/types" + languageName: unknown + linkType: soft + +"@wps/ui@workspace:*, @wps/ui@workspace:packages/ui": + version: 0.0.0-use.local + resolution: "@wps/ui@workspace:packages/ui" + languageName: unknown + linkType: soft + +"@wps/utils@workspace:*, @wps/utils@workspace:packages/utils": + version: 0.0.0-use.local + resolution: "@wps/utils@workspace:packages/utils" + languageName: unknown + linkType: soft + +"@wps/wps-web@workspace:apps/wps-web": + version: 0.0.0-use.local + resolution: "@wps/wps-web@workspace:apps/wps-web" + dependencies: + "@babel/core": "npm:^7.29.0" + "@babel/preset-env": "npm:^7.29.0" + "@cypress/code-coverage": "npm:^4.0.0" + "@emotion/react": "npm:^11.8.2" + "@emotion/styled": "npm:^11.8.1" + "@eslint/compat": "npm:^2.0.0" + "@mui/icons-material": "npm:^5.5.1" + "@mui/material": "npm:5.15.20" + "@mui/system": "npm:^5.15.14" + "@mui/x-data-grid-pro": "npm:^6.0.0" + "@mui/x-date-pickers": "npm:^7.29.4" + "@psu/cffdrs_ts": "git+https://github.com/cffdrs/cffdrs_ts#b9afdabc89dd4bdf04ccf1e406a4a5d8d552ff51" + "@reduxjs/toolkit": "npm:^2.2.7" + "@sentry/react": "npm:^10.0.0" + "@sentry/vite-plugin": "npm:^5.0.0" + "@testing-library/dom": "npm:^10.1.0" + "@testing-library/jest-dom": "npm:^6.4.2" + "@testing-library/react": "npm:^16.0.0" + "@testing-library/user-event": "npm:^14.5.2" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" + "@types/esri-leaflet": "npm:^3.0.0" + "@types/jest": "npm:^30.0.0" + "@types/leaflet": "npm:^1.7.0" + "@types/lodash": "npm:^4.14.173" + "@types/luxon": "npm:^3.0.2" + "@types/react": "npm:18.3.3" + "@types/react-dom": "npm:^18.3.0" + "@types/react-is": "npm:^19" + "@types/react-plotly.js": "npm:^2.2.4" + "@types/react-router-dom": "npm:^5.3.3" + "@types/recharts": "npm:^1.8.23" + "@types/webpack-env": "npm:^1.15.1" + "@typescript-eslint/eslint-plugin": "npm:^8.0.0" + "@typescript-eslint/parser": "npm:^8.0.0" + "@vitejs/plugin-react": "npm:^4.3.1" + "@vitest/coverage-v8": "npm:^4.0.8" + "@wps/api": "workspace:*" + "@wps/tsconfig": "workspace:*" + "@wps/types": "workspace:*" + "@wps/ui": "workspace:*" + "@wps/utils": "workspace:*" + axios: "npm:1.8.2" + babel-loader: "npm:^10.1.1" + cypress: "npm:^15.10.0" + date-fns: "npm:^4.0.0" + eslint: "npm:^9.7.0" + eslint-config-prettier: "npm:^10.0.0" + eslint-plugin-prettier: "npm:^5.1.3" + eslint-plugin-react: "npm:^7.34.4" + eslint-plugin-react-hooks: "npm:^7.0.0" + eslint-plugin-react-refresh: "npm:^0.4.7" + esri-leaflet: "npm:3.0.12" + filefy: "npm:^0.1.11" + globals: "npm:^17.0.0" + jsdom: "npm:^26.0.0" + jwt-decode: "npm:^4.0.0" + keycloak-js: "npm:^25.0.0" + leaflet: "npm:^1.7.1" + lodash: "npm:^4.17.21" + luxon: "npm:^3.0.2" + match-sorter: "npm:^8.0.0" + nyc: "npm:^17.0.0" + ol: "npm:10.0.0" + ol-mapbox-style: "npm:^13.1.1" + ol-pmtiles: "npm:^2.0.0" + prettier: "npm:^3.3.3" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" + react-is: "npm:^19.2.4" + react-redux: "npm:^9.1.2" + react-router-dom: "npm:^7.6.2" + recharts: "npm:^3.0.0" + rollup: "npm:^4.59.0" + start-server-and-test: "npm:^2.0.0" + ts-sinon: "npm:^2.0.2" + typescript: "npm:^5.2.2" + vite: "npm:^7.0.0" + vite-plugin-istanbul: "npm:^7.0.0" + vite-plugin-svgr: "npm:^4.2.0" + vitest: "npm:^4.0.0" + webpack: "npm:^5.105.4" + whatwg-fetch: "npm:^3.6.20" + languageName: unknown + linkType: soft + "@xtuc/ieee754@npm:^1.2.0": version: 1.2.0 resolution: "@xtuc/ieee754@npm:1.2.0" @@ -4622,15 +4687,6 @@ __metadata: languageName: node linkType: hard -"bidi-js@npm:^1.0.3": - version: 1.0.3 - resolution: "bidi-js@npm:1.0.3" - dependencies: - require-from-string: "npm:^2.0.2" - checksum: 10c0/fdddea4aa4120a34285486f2267526cd9298b6e8b773ad25e765d4f104b6d7437ab4ba542e6939e3ac834a7570bcf121ee2cf6d3ae7cd7082c4b5bedc8f271e1 - languageName: node - linkType: hard - "blob-util@npm:^2.0.2": version: 2.0.2 resolution: "blob-util@npm:2.0.2" @@ -5111,16 +5167,6 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^3.0.0, css-tree@npm:^3.2.1": - version: 3.2.1 - resolution: "css-tree@npm:3.2.1" - dependencies: - mdn-data: "npm:2.27.1" - source-map-js: "npm:^1.2.1" - checksum: 10c0/1f65e9ccaa56112a4706d6f003dd43d777f0dbcf848e66fd320f823192533581f8dd58daa906cb80622658332d50284d6be13b87a6ab4556cbbfe9ef535bbf7e - languageName: node - linkType: hard - "css.escape@npm:^1.5.1": version: 1.5.1 resolution: "css.escape@npm:1.5.1" @@ -5128,6 +5174,16 @@ __metadata: languageName: node linkType: hard +"cssstyle@npm:^4.2.1": + version: 4.6.0 + resolution: "cssstyle@npm:4.6.0" + dependencies: + "@asamuzakjp/css-color": "npm:^3.2.0" + rrweb-cssom: "npm:^0.8.0" + checksum: 10c0/71add1b0ffafa1bedbef6855db6189b9523d3320e015a0bf3fbd504760efb9a81e1f1a225228d5fa892ee58e56d06994ca372e7f4e461cda7c4c9985fe075f65 + languageName: node + linkType: hard + "csstype@npm:^3.0.2, csstype@npm:^3.1.3, csstype@npm:^3.2.2": version: 3.2.3 resolution: "csstype@npm:3.2.3" @@ -5290,13 +5346,13 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^7.0.0": - version: 7.0.0 - resolution: "data-urls@npm:7.0.0" +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" dependencies: - whatwg-mimetype: "npm:^5.0.0" - whatwg-url: "npm:^16.0.0" - checksum: 10c0/08d88ef50d8966a070ffdaa703e1e4b29f01bb2da364dfbc1612b1c2a4caa8045802c9532d81347b21781100132addb36a585071c8323b12cce97973961dee9f + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + checksum: 10c0/1b894d7d41c861f3a4ed2ae9b1c3f0909d4575ada02e36d3d3bc584bdd84278e20709070c79c3b3bff7ac98598cb191eb3e86a89a79ea4ee1ef360e1694f92ad languageName: node linkType: hard @@ -5394,7 +5450,7 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.6.0": +"decimal.js@npm:^10.5.0": version: 10.6.0 resolution: "decimal.js@npm:10.6.0" checksum: 10c0/07d69fbcc54167a340d2d97de95f546f9ff1f69d2b45a02fd7a5292412df3cd9eb7e23065e532a318f5474a2e1bccf8392fdf0443ef467f97f3bf8cb0477e5aa @@ -6764,7 +6820,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^13.0.0, glob@npm:^13.0.3, glob@npm:^13.0.6": +"glob@npm:^13.0.0, glob@npm:^13.0.6": version: 13.0.6 resolution: "glob@npm:13.0.6" dependencies: @@ -6928,12 +6984,12 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^6.0.0": - version: 6.0.0 - resolution: "html-encoding-sniffer@npm:6.0.0" +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" dependencies: - "@exodus/bytes": "npm:^1.6.0" - checksum: 10c0/66dc3f6f5539cc3beb814fcbfae7eacf4ec38cf824d6e1425b72039b51a40f4456bd8541ba66f4f4fe09cdf885ab5cd5bae6ec6339d6895a930b2fdb83c53025 + whatwg-encoding: "npm:^3.1.1" + checksum: 10c0/523398055dc61ac9b34718a719cb4aa691e4166f29187e211e1607de63dc25ac7af52ca7c9aead0c4b3c0415ffecb17326396e1202e2e86ff4bca4c0ee4c6140 languageName: node linkType: hard @@ -6951,7 +7007,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^7.0.0": +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -6982,7 +7038,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -7006,6 +7062,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:0.6.3": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + "iconv-lite@npm:^0.7.2": version: 0.7.2 resolution: "iconv-lite@npm:0.7.2" @@ -7493,20 +7558,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-processinfo@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-processinfo@npm:3.0.0" - dependencies: - archy: "npm:^1.0.0" - cross-spawn: "npm:^7.0.3" - istanbul-lib-coverage: "npm:^3.2.0" - p-map: "npm:^3.0.0" - rimraf: "npm:^6.1.3" - uuid: "npm:^8.3.2" - checksum: 10c0/50ebb4ff325b5fca2cdcff465dc7eacb0b0e93bb3d4bd2fb922777f5a54485146e24d615cb9f4dd32568763f95d492129aee36c43f9b410ee8f1ba94f30b4235 - languageName: node - linkType: hard - "istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": version: 3.0.1 resolution: "istanbul-lib-report@npm:3.0.1" @@ -7716,37 +7767,36 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^29.0.0": - version: 29.0.0 - resolution: "jsdom@npm:29.0.0" +"jsdom@npm:^26.0.0": + version: 26.1.0 + resolution: "jsdom@npm:26.1.0" dependencies: - "@asamuzakjp/css-color": "npm:^5.0.1" - "@asamuzakjp/dom-selector": "npm:^7.0.2" - "@bramus/specificity": "npm:^2.4.2" - "@csstools/css-syntax-patches-for-csstree": "npm:^1.1.1" - "@exodus/bytes": "npm:^1.15.0" - css-tree: "npm:^3.2.1" - data-urls: "npm:^7.0.0" - decimal.js: "npm:^10.6.0" - html-encoding-sniffer: "npm:^6.0.0" + cssstyle: "npm:^4.2.1" + data-urls: "npm:^5.0.0" + decimal.js: "npm:^10.5.0" + html-encoding-sniffer: "npm:^4.0.0" + http-proxy-agent: "npm:^7.0.2" + https-proxy-agent: "npm:^7.0.6" is-potential-custom-element-name: "npm:^1.0.1" - lru-cache: "npm:^11.2.7" - parse5: "npm:^8.0.0" + nwsapi: "npm:^2.2.16" + parse5: "npm:^7.2.1" + rrweb-cssom: "npm:^0.8.0" saxes: "npm:^6.0.0" symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^6.0.1" - undici: "npm:^7.24.3" + tough-cookie: "npm:^5.1.1" w3c-xmlserializer: "npm:^5.0.0" - webidl-conversions: "npm:^8.0.1" - whatwg-mimetype: "npm:^5.0.0" - whatwg-url: "npm:^16.0.1" + webidl-conversions: "npm:^7.0.0" + whatwg-encoding: "npm:^3.1.1" + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.1.1" + ws: "npm:^8.18.0" xml-name-validator: "npm:^5.0.0" peerDependencies: canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true - checksum: 10c0/8bbb4f89bfb7013a729bf50419fa5878086b52068a5d3836b51b99be5faf7cf9f871818954d468ce1f2f1c6b86d16af6ed5167f4084f7df7de517b104b451454 + checksum: 10c0/5b14a5bc32ce077a06fb42d1ab95b1191afa5cbbce8859e3b96831c5143becbbcbf0511d4d4934e922d2901443ced2cdc3b734c1cf30b5f73b3e067ce457d0f4 languageName: node linkType: hard @@ -8062,7 +8112,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.2.0": +"lru-cache@npm:^10.2.0, lru-cache@npm:^10.4.3": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb @@ -8076,13 +8126,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^11.2.6, lru-cache@npm:^11.2.7": - version: 11.2.7 - resolution: "lru-cache@npm:11.2.7" - checksum: 10c0/549cdb59488baa617135fc12159cafb1a97f91079f35093bb3bcad72e849fc64ace636d244212c181dfdf1a99bbfa90757ff303f98561958ee4d0f885d9bd5f7 - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -8196,13 +8239,6 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.27.1": - version: 2.27.1 - resolution: "mdn-data@npm:2.27.1" - checksum: 10c0/eb8abf5d22e4d1e090346f5e81b67d23cef14c83940e445da5c44541ad874dc8fb9f6ca236e8258c3a489d9fb5884188a4d7d58773adb9089ac2c0b966796393 - languageName: node - linkType: hard - "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -8492,7 +8528,14 @@ __metadata: languageName: node linkType: hard -"nyc@npm:^17.1.0": +"nwsapi@npm:^2.2.16": + version: 2.2.23 + resolution: "nwsapi@npm:2.2.23" + checksum: 10c0/e44bfc9246baf659581206ed716d291a1905185247795fb8a302cb09315c943a31023b4ac4d026a5eaf32b2def51d77b3d0f9ebf4f3d35f70e105fcb6447c76e + languageName: node + linkType: hard + +"nyc@npm:^17.0.0, nyc@npm:^17.1.0": version: 17.1.0 resolution: "nyc@npm:17.1.0" dependencies: @@ -8529,43 +8572,6 @@ __metadata: languageName: node linkType: hard -"nyc@npm:^18.0.0": - version: 18.0.0 - resolution: "nyc@npm:18.0.0" - dependencies: - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - caching-transform: "npm:^4.0.0" - convert-source-map: "npm:^1.7.0" - decamelize: "npm:^1.2.0" - find-cache-dir: "npm:^3.2.0" - find-up: "npm:^4.1.0" - foreground-child: "npm:^3.3.0" - get-package-type: "npm:^0.1.0" - glob: "npm:^13.0.6" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-hook: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.2" - istanbul-lib-processinfo: "npm:^3.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.0.2" - make-dir: "npm:^3.0.0" - node-preload: "npm:^0.2.1" - p-map: "npm:^3.0.0" - process-on-spawn: "npm:^1.0.0" - resolve-from: "npm:^5.0.0" - rimraf: "npm:^6.1.3" - signal-exit: "npm:^3.0.2" - spawn-wrap: "npm:^3.0.0" - test-exclude: "npm:^8.0.0" - yargs: "npm:^15.0.2" - bin: - nyc: bin/nyc.js - checksum: 10c0/1358e390623ec251250ca6786f0640f18b6b4db0b0e945362c91d1919fa3fcc5d065a47fa688fe04d1d8b76f33f6dfd79034e412ea161ba507a6ae7012f4550c - languageName: node - linkType: hard - "object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -8811,7 +8817,7 @@ __metadata: languageName: node linkType: hard -"package-json-from-dist@npm:^1.0.0, package-json-from-dist@npm:^1.0.1": +"package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b @@ -8853,12 +8859,12 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^8.0.0": - version: 8.0.0 - resolution: "parse5@npm:8.0.0" +"parse5@npm:^7.2.1": + version: 7.3.0 + resolution: "parse5@npm:7.3.0" dependencies: entities: "npm:^6.0.0" - checksum: 10c0/8279892dcd77b2f2229707f60eb039e303adf0288812b2a8fd5acf506a4d432da833c6c5d07a6554bef722c2367a81ef4a1f7e9336564379a7dba3e798bf16b3 + checksum: 10c0/7fd2e4e247e85241d6f2a464d0085eed599a26d7b0a5233790c49f53473232eb85350e8133344d9b3fd58b89339e7ad7270fe1f89d28abe50674ec97b87f80b5 languageName: node linkType: hard @@ -9621,18 +9627,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^6.1.3": - version: 6.1.3 - resolution: "rimraf@npm:6.1.3" - dependencies: - glob: "npm:^13.0.3" - package-json-from-dist: "npm:^1.0.1" - bin: - rimraf: dist/esm/bin.mjs - checksum: 10c0/4a56537850102e20ba5d5eb49f366b4b7b2435389734b4b8480cf0e0eb0f6f5d0c44120a171aeb0d8f9ab40312a10d2262f3f50acbad803e32caef61b6cf86fc - languageName: node - linkType: hard - "rollup@npm:^4.43.0, rollup@npm:^4.59.0": version: 4.59.0 resolution: "rollup@npm:4.59.0" @@ -9723,6 +9717,13 @@ __metadata: languageName: node linkType: hard +"rrweb-cssom@npm:^0.8.0": + version: 0.8.0 + resolution: "rrweb-cssom@npm:0.8.0" + checksum: 10c0/56f2bfd56733adb92c0b56e274c43f864b8dd48784d6fe946ef5ff8d438234015e59ad837fc2ad54714b6421384141c1add4eb569e72054e350d1f8a50b8ac7b + languageName: node + linkType: hard + "rw@npm:^1.3.3": version: 1.3.3 resolution: "rw@npm:1.3.3" @@ -10104,21 +10105,6 @@ __metadata: languageName: node linkType: hard -"spawn-wrap@npm:^3.0.0": - version: 3.0.0 - resolution: "spawn-wrap@npm:3.0.0" - dependencies: - cross-spawn: "npm:^7.0.6" - foreground-child: "npm:^2.0.0" - is-windows: "npm:^1.0.2" - make-dir: "npm:^3.0.0" - rimraf: "npm:^6.1.3" - signal-exit: "npm:^3.0.2" - which: "npm:^2.0.1" - checksum: 10c0/46a6cfd37a5b59b198a19be1b8a4205a3a79eeeb98d36cd7d459aa5cbae0e91c5f58a67a023a0bd7f309929569faa370f22e3abd746782b535bdedd1f4d351b4 - languageName: node - linkType: hard - "split@npm:0.3": version: 0.3.3 resolution: "split@npm:0.3.3" @@ -10508,17 +10494,6 @@ __metadata: languageName: node linkType: hard -"test-exclude@npm:^8.0.0": - version: 8.0.0 - resolution: "test-exclude@npm:8.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^13.0.6" - minimatch: "npm:^10.2.2" - checksum: 10c0/f2b613cb5ddc05d1357892f5da965a6f7af42b19a6b2fc30c9b93cb74adf5059a3a9f29818adb75c96c1747b3934caac90a9058f73ce0640ea101de828a11600 - languageName: node - linkType: hard - "throttleit@npm:^1.0.0": version: 1.0.1 resolution: "throttleit@npm:1.0.1" @@ -10592,13 +10567,6 @@ __metadata: languageName: node linkType: hard -"tldts-core@npm:^7.0.26": - version: 7.0.26 - resolution: "tldts-core@npm:7.0.26" - checksum: 10c0/3130c4a338bc5fa2463cec199b1b7b610e7dc570e33505c66fcf223ebea76f8e316b4531d2de1eb868488b9f02a92cd8aa610334d0fa3bf97f46bf89e438f856 - languageName: node - linkType: hard - "tldts@npm:^6.1.32": version: 6.1.86 resolution: "tldts@npm:6.1.86" @@ -10610,17 +10578,6 @@ __metadata: languageName: node linkType: hard -"tldts@npm:^7.0.5": - version: 7.0.26 - resolution: "tldts@npm:7.0.26" - dependencies: - tldts-core: "npm:^7.0.26" - bin: - tldts: bin/cli.js - checksum: 10c0/de7df3cfb03517afa09c3f3ad08d5e68d1735d5a65af83d978a4032a5784bbd4171f3d4b029575981f9a3045620152b55fb3c24445d76f7735a5c18f3b0d9c69 - languageName: node - linkType: hard - "tmp@npm:~0.2.4": version: 0.2.5 resolution: "tmp@npm:0.2.5" @@ -10628,7 +10585,7 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^5.0.0": +"tough-cookie@npm:^5.0.0, tough-cookie@npm:^5.1.1": version: 5.1.2 resolution: "tough-cookie@npm:5.1.2" dependencies: @@ -10637,21 +10594,12 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^6.0.1": - version: 6.0.1 - resolution: "tough-cookie@npm:6.0.1" - dependencies: - tldts: "npm:^7.0.5" - checksum: 10c0/ec70bd6b1215efe4ed31a158f0be3e4c9088fcbd8620edc23a5860d4f3d85c757b77e274baaa700f7b25e409f4181552ed189603c2b2e1a9f88104da3a61a37d - languageName: node - linkType: hard - -"tr46@npm:^6.0.0": - version: 6.0.0 - resolution: "tr46@npm:6.0.0" +"tr46@npm:^5.1.0": + version: 5.1.1 + resolution: "tr46@npm:5.1.1" dependencies: punycode: "npm:^2.3.1" - checksum: 10c0/83130df2f649228aa91c17754b66248030a3af34911d713b5ea417066fa338aa4bc8668d06bd98aa21a2210f43fc0a3db8b9099e7747fb5830e40e39a6a1058e + checksum: 10c0/ae270e194d52ec67ebd695c1a42876e0f19b96e4aca2ab464ab1d9d17dc3acd3e18764f5034c93897db73421563be27c70c98359c4501136a497e46deda5d5ec languageName: node linkType: hard @@ -10715,6 +10663,77 @@ __metadata: languageName: node linkType: hard +"turbo-darwin-64@npm:2.8.16": + version: 2.8.16 + resolution: "turbo-darwin-64@npm:2.8.16" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"turbo-darwin-arm64@npm:2.8.16": + version: 2.8.16 + resolution: "turbo-darwin-arm64@npm:2.8.16" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"turbo-linux-64@npm:2.8.16": + version: 2.8.16 + resolution: "turbo-linux-64@npm:2.8.16" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"turbo-linux-arm64@npm:2.8.16": + version: 2.8.16 + resolution: "turbo-linux-arm64@npm:2.8.16" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"turbo-windows-64@npm:2.8.16": + version: 2.8.16 + resolution: "turbo-windows-64@npm:2.8.16" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"turbo-windows-arm64@npm:2.8.16": + version: 2.8.16 + resolution: "turbo-windows-arm64@npm:2.8.16" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"turbo@npm:^2.0.0": + version: 2.8.16 + resolution: "turbo@npm:2.8.16" + dependencies: + turbo-darwin-64: "npm:2.8.16" + turbo-darwin-arm64: "npm:2.8.16" + turbo-linux-64: "npm:2.8.16" + turbo-linux-arm64: "npm:2.8.16" + turbo-windows-64: "npm:2.8.16" + turbo-windows-arm64: "npm:2.8.16" + dependenciesMeta: + turbo-darwin-64: + optional: true + turbo-darwin-arm64: + optional: true + turbo-linux-64: + optional: true + turbo-linux-arm64: + optional: true + turbo-windows-64: + optional: true + turbo-windows-arm64: + optional: true + bin: + turbo: bin/turbo + checksum: 10c0/5ac16e61a723f45e8ab265d7bbeb932f8843e982d8b9eca07d8df4778d5c2152d96d2a54ddca761588c5a538178333cce5b55ba765a32c2cb4c5be07609c25de + languageName: node + linkType: hard + "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -10860,13 +10879,6 @@ __metadata: languageName: node linkType: hard -"undici@npm:^7.24.3": - version: 7.24.4 - resolution: "undici@npm:7.24.4" - checksum: 10c0/cb302e81fadb7f0b7946ab77595715c0961b46a025ccecae79ba599432d0bc8d1e3da4dfe7ff66bc74f115c1b8ff0f099bc4e9bf313db4562da23995872c6d17 - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.1 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" @@ -11197,10 +11209,10 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^8.0.1": - version: 8.0.1 - resolution: "webidl-conversions@npm:8.0.1" - checksum: 10c0/3f6f327ca5fa0c065ed8ed0ef3b72f33623376e68f958e9b7bd0df49fdb0b908139ac2338d19fb45bd0e05595bda96cb6d1622222a8b413daa38a17aacc4dd46 +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 languageName: node linkType: hard @@ -11249,6 +11261,15 @@ __metadata: languageName: node linkType: hard +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" + dependencies: + iconv-lite: "npm:0.6.3" + checksum: 10c0/273b5f441c2f7fda3368a496c3009edbaa5e43b71b09728f90425e7f487e5cef9eb2b846a31bd760dd8077739c26faf6b5ca43a5f24033172b003b72cf61a93e + languageName: node + linkType: hard + "whatwg-fetch@npm:^3.6.20": version: 3.6.20 resolution: "whatwg-fetch@npm:3.6.20" @@ -11256,21 +11277,20 @@ __metadata: languageName: node linkType: hard -"whatwg-mimetype@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-mimetype@npm:5.0.0" - checksum: 10c0/eead164fe73a00dd82f817af6fc0bd22e9c273e1d55bf4bc6bdf2da7ad8127fca82ef00ea6a37892f5f5641f8e34128e09508f92126086baba126b9e0d57feb4 +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10c0/a773cdc8126b514d790bdae7052e8bf242970cebd84af62fb2f35a33411e78e981f6c0ab9ed1fe6ec5071b09d5340ac9178e05b52d35a9c4bcf558ba1b1551df languageName: node linkType: hard -"whatwg-url@npm:^16.0.0, whatwg-url@npm:^16.0.1": - version: 16.0.1 - resolution: "whatwg-url@npm:16.0.1" +"whatwg-url@npm:^14.0.0, whatwg-url@npm:^14.1.1": + version: 14.2.0 + resolution: "whatwg-url@npm:14.2.0" dependencies: - "@exodus/bytes": "npm:^1.11.0" - tr46: "npm:^6.0.0" - webidl-conversions: "npm:^8.0.1" - checksum: 10c0/e75565566abf3a2cdbd9f06c965dbcccee6ec4e9f0d3728ad5e08ceb9944279848bcaa211d35a29cb6d2df1e467dd05cfb59fbddf8a0adcd7d0bce9ffb703fd2 + tr46: "npm:^5.1.0" + webidl-conversions: "npm:^7.0.0" + checksum: 10c0/f746fc2f4c906607d09537de1227b13f9494c171141e5427ed7d2c0dd0b6a48b43d8e71abaae57d368d0c06b673fd8ec63550b32ad5ed64990c7b0266c2b4272 languageName: node linkType: hard @@ -11393,88 +11413,12 @@ __metadata: languageName: node linkType: hard -"wps-web@workspace:.": +"wps-frontend@workspace:.": version: 0.0.0-use.local - resolution: "wps-web@workspace:." + resolution: "wps-frontend@workspace:." dependencies: - "@babel/core": "npm:^7.29.0" - "@babel/preset-env": "npm:^7.29.0" - "@cypress/code-coverage": "npm:^4.0.0" - "@emotion/react": "npm:^11.8.2" - "@emotion/styled": "npm:^11.8.1" - "@eslint/compat": "npm:^2.0.0" - "@mui/icons-material": "npm:^5.5.1" - "@mui/material": "npm:5.15.20" - "@mui/system": "npm:^5.15.14" - "@mui/x-data-grid-pro": "npm:^6.0.0" - "@mui/x-date-pickers": "npm:^7.29.4" - "@psu/cffdrs_ts": "git+https://github.com/cffdrs/cffdrs_ts#b9afdabc89dd4bdf04ccf1e406a4a5d8d552ff51" - "@reduxjs/toolkit": "npm:^2.2.7" - "@sentry/react": "npm:^10.0.0" - "@sentry/vite-plugin": "npm:^5.0.0" - "@testing-library/dom": "npm:^10.1.0" - "@testing-library/jest-dom": "npm:^6.4.2" - "@testing-library/react": "npm:^16.0.0" - "@testing-library/user-event": "npm:^14.5.2" - "@types/babel__core": "npm:^7" - "@types/babel__preset-env": "npm:^7" - "@types/esri-leaflet": "npm:^3.0.0" - "@types/jest": "npm:^30.0.0" - "@types/leaflet": "npm:^1.7.0" - "@types/lodash": "npm:^4.14.173" - "@types/luxon": "npm:^3.0.2" - "@types/react": "npm:18.3.3" - "@types/react-dom": "npm:^18.3.0" - "@types/react-is": "npm:^19" - "@types/react-plotly.js": "npm:^2.2.4" - "@types/react-router-dom": "npm:^5.3.3" - "@types/recharts": "npm:^1.8.23" - "@types/webpack-env": "npm:^1.15.1" - "@typescript-eslint/eslint-plugin": "npm:^8.0.0" - "@typescript-eslint/parser": "npm:^8.0.0" - "@vitejs/plugin-react": "npm:^4.3.1" - "@vitest/coverage-v8": "npm:^4.0.8" - axios: "npm:1.8.2" - babel-loader: "npm:^10.1.1" - cypress: "npm:^15.10.0" - date-fns: "npm:^4.0.0" - eslint: "npm:^9.7.0" - eslint-config-prettier: "npm:^10.0.0" - eslint-plugin-prettier: "npm:^5.1.3" - eslint-plugin-react: "npm:^7.34.4" - eslint-plugin-react-hooks: "npm:^7.0.0" - eslint-plugin-react-refresh: "npm:^0.4.7" - esri-leaflet: "npm:3.0.12" - filefy: "npm:^0.1.11" - globals: "npm:^17.0.0" - jsdom: "npm:^29.0.0" - jwt-decode: "npm:^4.0.0" - keycloak-js: "npm:^25.0.0" - leaflet: "npm:^1.7.1" - lodash: "npm:^4.17.21" - luxon: "npm:^3.0.2" - match-sorter: "npm:^8.0.0" - nyc: "npm:^18.0.0" - ol: "npm:10.0.0" - ol-mapbox-style: "npm:^13.1.1" - ol-pmtiles: "npm:^2.0.0" - prettier: "npm:^3.3.3" - react: "npm:^18.3.1" - react-dom: "npm:^18.3.1" - react-is: "npm:^19.2.4" - react-redux: "npm:^9.1.2" - react-router-dom: "npm:^7.6.2" - recharts: "npm:^3.0.0" - rollup: "npm:^4.59.0" - start-server-and-test: "npm:^2.0.0" - ts-sinon: "npm:^2.0.2" + turbo: "npm:^2.0.0" typescript: "npm:^5.2.2" - vite: "npm:^7.0.0" - vite-plugin-istanbul: "npm:^7.0.0" - vite-plugin-svgr: "npm:^4.2.0" - vitest: "npm:^4.0.0" - webpack: "npm:^5.105.4" - whatwg-fetch: "npm:^3.6.20" languageName: unknown linkType: soft @@ -11530,6 +11474,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.18.0": + version: 8.19.0 + resolution: "ws@npm:8.19.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4741d9b9bc3f9c791880882414f96e36b8b254e34d4b503279d6400d9a4b87a033834856dbdd94ee4b637944df17ea8afc4bce0ff4a1560d2166be8855da5b04 + languageName: node + linkType: hard + "xml-name-validator@npm:^5.0.0": version: 5.0.0 resolution: "xml-name-validator@npm:5.0.0"