diff --git a/.pnp.cjs b/.pnp.cjs index a7df68a..998f84d 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -30,6 +30,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["@eslint/js", "npm:9.39.3"],\ ["@popperjs/core", "npm:2.11.8"],\ + ["@tanstack/query-core", "npm:5.90.20"],\ ["@types/bootstrap", "npm:5.2.10"],\ ["@types/node", "npm:24.11.0"],\ ["@types/react", "npm:19.2.14"],\ @@ -42,6 +43,8 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-react-refresh", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:0.4.26"],\ ["globals", "npm:16.5.0"],\ ["jotai", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:2.18.0"],\ + ["jotai-tanstack-query", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:0.11.0"],\ + ["prettier", "npm:3.8.1"],\ ["react", "npm:19.2.4"],\ ["react-bootstrap", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:2.10.10"],\ ["react-dom", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:19.2.4"],\ @@ -1155,6 +1158,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@tanstack/query-core", [\ + ["npm:5.90.20", {\ + "packageLocation": "./.yarn/cache/@tanstack-query-core-npm-5.90.20-fe193b58bc-70637dfcec.zip/node_modules/@tanstack/query-core/",\ + "packageDependencies": [\ + ["@tanstack/query-core", "npm:5.90.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/babel__core", [\ ["npm:7.20.5", {\ "packageLocation": "./.yarn/cache/@types-babel__core-npm-7.20.5-4d95f75eab-bdee3bb699.zip/node_modules/@types/babel__core/",\ @@ -1641,6 +1653,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["@eslint/js", "npm:9.39.3"],\ ["@popperjs/core", "npm:2.11.8"],\ + ["@tanstack/query-core", "npm:5.90.20"],\ ["@types/bootstrap", "npm:5.2.10"],\ ["@types/node", "npm:24.11.0"],\ ["@types/react", "npm:19.2.14"],\ @@ -1653,6 +1666,8 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-react-refresh", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:0.4.26"],\ ["globals", "npm:16.5.0"],\ ["jotai", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:2.18.0"],\ + ["jotai-tanstack-query", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:0.11.0"],\ + ["prettier", "npm:3.8.1"],\ ["react", "npm:19.2.4"],\ ["react-bootstrap", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:2.10.10"],\ ["react-dom", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:19.2.4"],\ @@ -2573,6 +2588,40 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["jotai-tanstack-query", [\ + ["npm:0.11.0", {\ + "packageLocation": "./.yarn/cache/jotai-tanstack-query-npm-0.11.0-03b723286e-9c87d69cb2.zip/node_modules/jotai-tanstack-query/",\ + "packageDependencies": [\ + ["jotai-tanstack-query", "npm:0.11.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:0.11.0", {\ + "packageLocation": "./.yarn/__virtual__/jotai-tanstack-query-virtual-986809521a/0/cache/jotai-tanstack-query-npm-0.11.0-03b723286e-9c87d69cb2.zip/node_modules/jotai-tanstack-query/",\ + "packageDependencies": [\ + ["@tanstack/query-core", "npm:5.90.20"],\ + ["@tanstack/react-query", null],\ + ["@types/jotai", null],\ + ["@types/react", "npm:19.2.14"],\ + ["@types/tanstack__query-core", null],\ + ["@types/tanstack__react-query", null],\ + ["jotai", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:2.18.0"],\ + ["jotai-tanstack-query", "virtual:ae939b5bf1c4da31987d1d461851d6cc956667f76e9d6d3a45643e06af20bf533b9bcec6bab70ed0ca795aebf9ce43b3ed74bd20004783b74b2a0cc963cd86b8#npm:0.11.0"],\ + ["react", "npm:19.2.4"]\ + ],\ + "packagePeers": [\ + "@tanstack/query-core",\ + "@tanstack/react-query",\ + "@types/jotai",\ + "@types/react",\ + "@types/tanstack__query-core",\ + "@types/tanstack__react-query",\ + "jotai",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["js-tokens", [\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-e248708d37.zip/node_modules/js-tokens/",\ @@ -3027,6 +3076,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["prettier", [\ + ["npm:3.8.1", {\ + "packageLocation": "./.yarn/unplugged/prettier-npm-3.8.1-04022a855f/node_modules/prettier/",\ + "packageDependencies": [\ + ["prettier", "npm:3.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["proc-log", [\ ["npm:6.1.0", {\ "packageLocation": "./.yarn/cache/proc-log-npm-6.1.0-84e609b3f4-4f178d4062.zip/node_modules/proc-log/",\ diff --git a/.yarn/cache/@tanstack-query-core-npm-5.90.20-fe193b58bc-70637dfcec.zip b/.yarn/cache/@tanstack-query-core-npm-5.90.20-fe193b58bc-70637dfcec.zip new file mode 100644 index 0000000..ca405f5 Binary files /dev/null and b/.yarn/cache/@tanstack-query-core-npm-5.90.20-fe193b58bc-70637dfcec.zip differ diff --git a/.yarn/cache/jotai-tanstack-query-npm-0.11.0-03b723286e-9c87d69cb2.zip b/.yarn/cache/jotai-tanstack-query-npm-0.11.0-03b723286e-9c87d69cb2.zip new file mode 100644 index 0000000..a7144c3 Binary files /dev/null and b/.yarn/cache/jotai-tanstack-query-npm-0.11.0-03b723286e-9c87d69cb2.zip differ diff --git a/.yarn/cache/prettier-npm-3.8.1-04022a855f-33169b5940.zip b/.yarn/cache/prettier-npm-3.8.1-04022a855f-33169b5940.zip new file mode 100644 index 0000000..283c02d Binary files /dev/null and b/.yarn/cache/prettier-npm-3.8.1-04022a855f-33169b5940.zip differ diff --git a/README.md b/README.md index d2e7761..8c2d760 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ If you are developing a production application, we recommend updating the config ```js export default defineConfig([ - globalIgnores(['dist']), + globalIgnores(["dist"]), { - files: ['**/*.{ts,tsx}'], + files: ["**/*.{ts,tsx}"], extends: [ // Other configs... @@ -34,40 +34,40 @@ export default defineConfig([ ], languageOptions: { parserOptions: { - project: ['./tsconfig.node.json', './tsconfig.app.json'], + project: ["./tsconfig.node.json", "./tsconfig.app.json"], tsconfigRootDir: import.meta.dirname, }, // other options... }, }, -]) +]); ``` You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: ```js // eslint.config.js -import reactX from 'eslint-plugin-react-x' -import reactDom from 'eslint-plugin-react-dom' +import reactX from "eslint-plugin-react-x"; +import reactDom from "eslint-plugin-react-dom"; export default defineConfig([ - globalIgnores(['dist']), + globalIgnores(["dist"]), { - files: ['**/*.{ts,tsx}'], + files: ["**/*.{ts,tsx}"], extends: [ // Other configs... // Enable lint rules for React - reactX.configs['recommended-typescript'], + reactX.configs["recommended-typescript"], // Enable lint rules for React DOM reactDom.configs.recommended, ], languageOptions: { parserOptions: { - project: ['./tsconfig.node.json', './tsconfig.app.json'], + project: ["./tsconfig.node.json", "./tsconfig.app.json"], tsconfigRootDir: import.meta.dirname, }, // other options... }, }, -]) +]); ``` diff --git a/eslint.config.js b/eslint.config.js index 5e6b472..75d3c46 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,14 +1,14 @@ -import js from '@eslint/js' -import globals from 'globals' -import reactHooks from 'eslint-plugin-react-hooks' -import reactRefresh from 'eslint-plugin-react-refresh' -import tseslint from 'typescript-eslint' -import { defineConfig, globalIgnores } from 'eslint/config' +import js from "@eslint/js"; +import globals from "globals"; +import reactHooks from "eslint-plugin-react-hooks"; +import reactRefresh from "eslint-plugin-react-refresh"; +import tseslint from "typescript-eslint"; +import { defineConfig, globalIgnores } from "eslint/config"; export default defineConfig([ - globalIgnores(['dist']), + globalIgnores(["dist"]), { - files: ['**/*.{ts,tsx}'], + files: ["**/*.{ts,tsx}"], extends: [ js.configs.recommended, tseslint.configs.recommended, @@ -20,4 +20,4 @@ export default defineConfig([ globals: globals.browser, }, }, -]) +]); diff --git a/index.html b/index.html index 1f75b69..456a374 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,6 @@
-
- Edit src/App.tsx and save to test HMR
-
- Click on the Vite and React logos to learn more -
- > - ) +Made with {"<3"} by James Pace.
; +} diff --git a/src/Home.tsx b/src/Home.tsx new file mode 100644 index 0000000..87855d0 --- /dev/null +++ b/src/Home.tsx @@ -0,0 +1,14 @@ +import { AppNav, Footer } from "./AppNav.tsx"; +import { Container, Row, Col, Image } from "react-bootstrap"; + +export function Home() { + return ( +Hello World!
+Hello World!
++ {versionText()} +
+