create-start-app 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/.gitattributes +2 -0
  2. package/.github/FUNDING.yml +1 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.yml +94 -0
  4. package/.github/ISSUE_TEMPLATE/config.yml +11 -0
  5. package/.github/workflows/auto.yml +46 -0
  6. package/.github/workflows/ci.yml +43 -0
  7. package/.nvmrc +1 -0
  8. package/.prettierignore +3 -0
  9. package/CONTRIBUTING.md +34 -0
  10. package/LICENSE +21 -0
  11. package/README.md +51 -0
  12. package/dist/index.js +199 -0
  13. package/dist/utils/getPackageManager.js +15 -0
  14. package/eslint.config.js +35 -0
  15. package/package.json +48 -0
  16. package/prettier.config.js +10 -0
  17. package/scripts/publish.js +33 -0
  18. package/src/index.ts +335 -0
  19. package/src/utils/getPackageManager.ts +22 -0
  20. package/templates/base/.vscode/settings.json +11 -0
  21. package/templates/base/README.md.ejs +530 -0
  22. package/templates/base/gitignore +5 -0
  23. package/templates/base/index.html.ejs +20 -0
  24. package/templates/base/package.json +28 -0
  25. package/templates/base/package.ts.json +7 -0
  26. package/templates/base/package.tw.json +6 -0
  27. package/templates/base/public/favicon.ico +0 -0
  28. package/templates/base/public/logo192.png +0 -0
  29. package/templates/base/public/logo512.png +0 -0
  30. package/templates/base/public/manifest.json +25 -0
  31. package/templates/base/public/robots.txt +3 -0
  32. package/templates/base/src/App.css +38 -0
  33. package/templates/base/src/App.test.tsx.ejs +10 -0
  34. package/templates/base/src/App.tsx.ejs +74 -0
  35. package/templates/base/src/logo.svg +43 -0
  36. package/templates/base/src/reportWebVitals.ts.ejs +28 -0
  37. package/templates/base/src/styles.css.ejs +15 -0
  38. package/templates/base/tsconfig.json +24 -0
  39. package/templates/base/vite.config.js.ejs +15 -0
  40. package/templates/code-router/src/main.tsx.ejs +61 -0
  41. package/templates/file-router/package.fr.json +5 -0
  42. package/templates/file-router/src/main.tsx.ejs +35 -0
  43. package/templates/file-router/src/routes/__root.tsx +11 -0
  44. package/tsconfig.json +15 -0
@@ -0,0 +1,74 @@
1
+ <% if (fileRouter) { %>
2
+ import { createFileRoute } from "@tanstack/react-router";
3
+ import logo from "../logo.svg";<% if (!tailwind) { %>
4
+ import "../App.css";
5
+ <% } %>
6
+ <% } else { %>import logo from "./logo.svg";<% if (!tailwind) { %>
7
+ import "./App.css";
8
+ <% } %><% } %><% if (fileRouter) { %>
9
+
10
+ export const Route = createFileRoute("/")({
11
+ component: App,
12
+ });<% } %>
13
+
14
+ function App() {
15
+ return (<% if (tailwind) { %>
16
+ <div className="text-center">
17
+ <header className="min-h-screen flex flex-col items-center justify-center bg-[#282c34] text-white text-[calc(10px+2vmin)]">
18
+ <img
19
+ src={logo}
20
+ className="h-[40vmin] pointer-events-none animate-[spin_20s_linear_infinite]"
21
+ alt="logo"
22
+ />
23
+ <p>
24
+ Edit <code><% if (fileRouter) { %>src/routes/index.tsx<% } else {%>src/App.<%= jsx %><% } %></code> and save to reload.
25
+ </p>
26
+ <a
27
+ className="text-[#61dafb] hover:underline"
28
+ href="https://reactjs.org"
29
+ target="_blank"
30
+ rel="noopener noreferrer"
31
+ >
32
+ Learn React
33
+ </a>
34
+ <a
35
+ className="text-[#61dafb] hover:underline"
36
+ href="https://tanstack.com"
37
+ target="_blank"
38
+ rel="noopener noreferrer"
39
+ >
40
+ Learn TanStack
41
+ </a>
42
+ </header>
43
+ </div>
44
+ <% } else { %>
45
+ <div className="App">
46
+ <header className="App-header">
47
+ <img src={logo} className="App-logo" alt="logo" />
48
+ <p>
49
+ Edit <code><% if (fileRouter) { %>src/routes/index.tsx<% } else {%>src/App.<%= jsx %><% } %></code> and save to reload.
50
+ </p>
51
+ <a
52
+ className="App-link"
53
+ href="https://reactjs.org"
54
+ target="_blank"
55
+ rel="noopener noreferrer"
56
+ >
57
+ Learn React
58
+ </a>
59
+ <a
60
+ className="App-link"
61
+ href="https://tanstack.com"
62
+ target="_blank"
63
+ rel="noopener noreferrer"
64
+ >
65
+ Learn TanStack
66
+ </a>
67
+ </header>
68
+ </div>
69
+ <% } %> );
70
+ }
71
+
72
+ <% if (!fileRouter) { %>
73
+ export default App;
74
+ <% } %>
@@ -0,0 +1,43 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 841.9 595.3">
3
+ <!-- Generator: Adobe Illustrator 29.3.0, SVG Export Plug-In . SVG Version: 2.1.0 Build 146) -->
4
+ <defs>
5
+ <style>
6
+ .st0 {
7
+ fill: #9ae7fc;
8
+ }
9
+
10
+ .st1 {
11
+ fill: #61dafb;
12
+ }
13
+ </style>
14
+ </defs>
15
+ <g>
16
+ <path class="st1" d="M666.3,296.5c0-32.5-40.7-63.3-103.1-82.4,14.4-63.6,8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6,0,8.3.9,11.4,2.6,13.6,7.8,19.5,37.5,14.9,75.7-1.1,9.4-2.9,19.3-5.1,29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50,32.6-30.3,63.2-46.9,84-46.9v-22.3c-27.5,0-63.5,19.6-99.9,53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7,0,51.4,16.5,84,46.6-14,14.7-28,31.4-41.3,49.9-22.6,2.4-44,6.1-63.6,11-2.3-10-4-19.7-5.2-29-4.7-38.2,1.1-67.9,14.6-75.8,3-1.8,6.9-2.6,11.5-2.6v-22.3c-8.4,0-16,1.8-22.6,5.6-28.1,16.2-34.4,66.7-19.9,130.1-62.2,19.2-102.7,49.9-102.7,82.3s40.7,63.3,103.1,82.4c-14.4,63.6-8,114.2,20.2,130.4,6.5,3.8,14.1,5.6,22.5,5.6,27.5,0,63.5-19.6,99.9-53.6,36.4,33.8,72.4,53.2,99.9,53.2s16-1.8,22.6-5.6c28.1-16.2,34.4-66.7,19.9-130.1,62-19.1,102.5-49.9,102.5-82.3h0ZM536.1,229.8c-3.7,12.9-8.3,26.2-13.5,39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4,14.2,2.1,27.9,4.7,41,7.9h0ZM490.3,336.3c-7.8,13.5-15.8,26.3-24.1,38.2-14.9,1.3-30,2-45.2,2s-30.2-.7-45-1.9c-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8,6.2-13.4,13.2-26.8,20.7-39.9,7.8-13.5,15.8-26.3,24.1-38.2,14.9-1.3,30-2,45.2-2s30.2.7,45,1.9c8.3,11.9,16.4,24.6,24.2,38,7.6,13.1,14.5,26.4,20.8,39.8-6.3,13.4-13.2,26.8-20.7,39.9h0ZM522.6,323.3c5.4,13.4,10,26.8,13.8,39.8-13.1,3.2-26.9,5.9-41.2,8,4.9-7.7,9.8-15.6,14.4-23.7,4.6-8,8.9-16.1,13-24.1h0ZM421.2,430c-9.3-9.6-18.6-20.3-27.8-32,9,.4,18.2.7,27.5.7s18.7-.2,27.8-.7c-9,11.7-18.3,22.4-27.5,32ZM346.8,371.1c-14.2-2.1-27.9-4.7-41-7.9,3.7-12.9,8.3-26.2,13.5-39.5,4.1,8,8.4,16,13.1,24s9.5,15.8,14.4,23.4ZM420.7,163c9.3,9.6,18.6,20.3,27.8,32-9-.4-18.2-.7-27.5-.7s-18.7.2-27.8.7c9-11.7,18.3-22.4,27.5-32ZM346.7,221.9c-4.9,7.7-9.8,15.6-14.4,23.7-4.6,8-8.9,16-13,24-5.4-13.4-10-26.8-13.8-39.8,13.1-3.1,26.9-5.8,41.2-7.9h0ZM256.2,347.1c-35.4-15.1-58.3-34.9-58.3-50.6s22.9-35.6,58.3-50.6c8.6-3.7,18-7,27.7-10.1,5.7,19.6,13.2,40,22.5,60.9-9.2,20.8-16.6,41.1-22.2,60.6-9.9-3.1-19.3-6.5-28-10.2h0ZM310,490c-13.6-7.8-19.5-37.5-14.9-75.7,1.1-9.4,2.9-19.3,5.1-29.4,19.6,4.8,41,8.5,63.5,10.9,13.5,18.5,27.5,35.3,41.6,50-32.6,30.3-63.2,46.9-84,46.9-4.5-.1-8.3-1-11.3-2.7h0ZM547.2,413.8c4.7,38.2-1.1,67.9-14.6,75.8-3,1.8-6.9,2.6-11.5,2.6-20.7,0-51.4-16.5-84-46.6,14-14.7,28-31.4,41.3-49.9,22.6-2.4,44-6.1,63.6-11,2.3,10.1,4.1,19.8,5.2,29.1ZM585.7,347.1c-8.6,3.7-18,7-27.7,10.1-5.7-19.6-13.2-40-22.5-60.9,9.2-20.8,16.6-41.1,22.2-60.6,9.9,3.1,19.3,6.5,28.1,10.2,35.4,15.1,58.3,34.9,58.3,50.6,0,15.7-23,35.6-58.4,50.6h0Z"/>
17
+ <circle class="st1" cx="420.9" cy="296.5" r="45.7"/>
18
+ <path class="st1" d="M520.5,78.1"/>
19
+ </g>
20
+ <circle class="st0" cx="420.8" cy="296.6" r="43"/>
21
+ <path class="st1" d="M466.1,296.6c0,25-20.2,45.2-45.2,45.2s-45.2-20.2-45.2-45.2,20.2-45.2,45.2-45.2,45.2,20.2,45.2,45.2ZM386,295.6v-6.3c0-1.1,1.2-5.1,1.8-6.2,1-1.9,2.9-3.5,4.6-4.7l-3.4-3.4c4-3.6,9.4-3.7,13.7-.7,1.9-4.7,6.6-7.1,11.6-6.7l-.8,4.2c5.9.2,13.1,4.1,13.1,10.8s0,.5-.7.7c-1.7.3-3.4-.4-5-.6s-1.2-.4-1.2.3,2.5,4.1,3,5.5,1,3.5.8,5.3c-5.6-.8-10.5-3.2-14.8-6.7.3,2.6,4.1,21.7,5.3,21.9s.8-.6,1-1.1,1.3-6.3,1.3-6.7c0-1-1.7-1.8-2.2-2.8-1.2-2.7,1.3-4.7,3.7-3.3s5.2,6.2,7.5,7.3,13,1.4,14.8,3.3-2.9,4.6-1.5,7.6c6.7-2.6,13.5-3.3,20.6-2.5,3.1-9.7,3.1-20.3-.9-29.8-7.3,0-14.7-3.6-17.2-10.8-2.5-7.2-.7-8.6-1.3-9.3-.8-1-6.3.6-7.4-1.5s.3-1.1-.2-1.4-1.9-.6-2.6-.8c-26-6.4-51.3,15.7-49.7,42.1,0,1.6,1.6,10.3,2.4,11.1s4.8,0,6.3,0,3.7.3,5,.5c2.9.4,7.2,2.4,9.4,2.5s2.4-.8,2.7-2.4c.4-2.6.5-7.4.5-10.1s-1-7.8-1.3-11.6c-.9-.2-.7,0-.9.5-.7,1.3-1.1,3.2-1.9,4.8s-5.2,8.7-5.7,9-.7-.5-.8-.8c-1.6-3.5-2-7.9-1.9-11.8-.9-1-5.4,4.9-6.7,5.3l-.8-.4v-.3h-.2ZM455.6,276.4c1.1-1.2-6-8.9-7.2-10-3-2.7-5.4-4.5-3.5,1.4s5.7,7.8,10.6,8.5h.1ZM410.9,270.1c-.4-.5-6.1,2.9-5.5,4.6,1.9-1.3,5.9-1.7,5.5-4.6ZM400.4,276.4c-.3-2.4-6.3-2.7-7.2-1s1.6,1.4,1.9,1.4c1.8.3,3.5-.6,5.2-.4h.1ZM411.3,276.8c3.8,1.3,6.6,3.6,10.9,3.7s0-3-1.2-3.9c-2.2-1.7-5.1-2.4-7.8-2.4s-1.6-.3-1.4.4c2.8.6,7.3.7,8.4,3.8-2.3-.3-3.9-1.6-6.2-2s-2.5-.5-2.6.3h0ZM420.6,290.3c-.8-5.1-5.7-10.8-10.9-11.6s-1.3-.4-.8.5,4.7,3.2,5.7,4,4.5,4.2,2.1,3.8-8.4-7.8-9.4-6.7c.2.9,1.1,1.9,1.7,2.7,3,3.8,6.9,6.8,11.8,7.4h-.2ZM395.3,279.8c-5,1.1-6.9,6.3-6.7,11,.7.8,5-3.8,5.4-4.5s2.7-4.6,1.1-4-2.9,4.4-4.2,4.6.2-2.1.4-2.5c1.1-1.6,2.9-3.1,4-4.6h0ZM400.4,281.5c-.4-.5-2,1.3-2.3,1.7-2.9,3.9-2.6,10.2-1.5,14.8.8.2.8-.3,1.2-.7,3-3.8,5.5-10.5,4.5-15.4-2.1,3.1-3.1,7.3-3.6,11h-1.3c0-4,1.9-7.7,3-11.4h0ZM426.9,305.9c0-1.7-1.7-1.4-2.5-1.9s-1.3-1.9-3-1.4c1.3,2.1,3,3.2,5.5,3.4h0ZM417.2,308.5c7.6.7,5.5-1.9,1.4-5.5-1.3-.3-1.5,4.5-1.4,5.5ZM437,309.7c-3.5-.3-7.8-2-11.2-2.1s-1.3,0-1.9.7c4,1.3,8.4,1.7,12.1,4l1-2.5h0ZM420.5,312.8c-7.3,0-15.1,3.7-20.4,8.8s-4.8,5.3-4.8,6.2c0,1.8,8.6,6.2,10.5,6.8,12.1,4.8,27.5,3.5,38.2-4.2s3.1-2.7,0-6.2c-5.7-6.6-14.7-11.4-23.4-11.3h-.1ZM398.7,316.9c-1.4-1.4-5-1.9-7-2.1s-5.3-.3-6.9.6l13.9,1.4h0ZM456.9,314.8h-7.4c-.9,0-4.9,1.1-6,1.6s-.8.6,0,.5c2.4,0,5.1-1,7.6-1.3s3.5.2,5.1,0,1.3-.3.6-.8h0Z"/>
22
+ <path class="st0" d="M386,295.6l.8.4c1.3-.3,5.8-6.2,6.7-5.3,0,3.9.3,8.3,1.9,11.8s0,1.2.8.8,5.1-7.8,5.7-9,1.3-3.5,1.9-4.8,0-.7.9-.5c.3,3.8,1.2,7.8,1.3,11.6s0,7.5-.5,10.1-1.1,2.4-2.7,2.4-6.5-2.1-9.4-2.5-3.7-.5-5-.5-5.4,1.1-6.3,0-2.2-9.5-2.4-11.1c-1.5-26.4,23.7-48.5,49.7-42.1s2.2.4,2.6.8,0,1,.2,1.4c1.1,2,6.5.5,7.4,1.5s.4,6.9,1.3,9.3c2.5,7.2,10,10.9,17.2,10.8,4,9.4,4,20.1.9,29.8-7.2-.7-13.9,0-20.6,2.5-1.3-3.1,4.1-5.1,1.5-7.6s-11.8-1.9-14.8-3.3-5.4-6.1-7.5-7.3-4.9.6-3.7,3.3,2.1,1.8,2.2,2.8-1,6.2-1.3,6.7-.3,1.3-1,1.1c-1.1-.3-5-19.3-5.3-21.9,4.3,3.5,9.2,5.9,14.8,6.7.2-1.9-.3-3.5-.8-5.3s-3-5.1-3-5.5c0-.8.9-.3,1.2-.3,1.6,0,3.3.8,5,.6s.7.3.7-.7c0-6.6-7.2-10.6-13.1-10.8l.8-4.2c-5.1-.3-9.6,2-11.6,6.7-4.3-3-9.8-3-13.7.7l3.4,3.4c-1.8,1.3-3.5,2.8-4.6,4.7s-1.8,5.1-1.8,6.2v6.6h.2ZM431.6,265c7.8,2.1,8.7-3.5.2-1.3l-.2,1.3ZM432.4,270.9c.3.6,6.4-.4,5.8-2.3s-4.6.6-5.7.6l-.2,1.7h.1ZM434.5,276c.8,1.2,5.7-1.8,5.5-2.7-.4-1.9-6.6,1.2-5.5,2.7ZM442.9,276.4c-.9-.9-5,2.8-4.6,4,.6,2.4,5.7-3,4.6-4ZM445.1,279.9c-.3.2-3.1,4.6-1.5,5s3.5-3.4,3.5-4-1.3-1.3-2-.9h0ZM448.9,287.4c2.1.8,3.8-5.1,2.3-5.5-1.9-.6-2.6,5.1-2.3,5.5ZM457.3,288.6c.5-1.7,1.1-4.7-1-5.5-1,.3-.6,3.9-.6,4.8l.3.5,1.3.2h0Z"/>
23
+ <path class="st0" d="M455.6,276.4c-5-.8-9.1-3.6-10.6-8.5s.5-4,3.5-1.4,8.3,8.7,7.2,10h-.1Z"/>
24
+ <path class="st0" d="M420.6,290.3c-4.9-.6-8.9-3.6-11.8-7.4s-1.5-1.8-1.7-2.7c1-1,8.5,6.6,9.4,6.7,2.4.4-1.8-3.5-2.1-3.8-1-.8-5.4-3.5-5.7-4-.4-.8.5-.5.8-.5,5.2.8,10.1,6.6,10.9,11.6h.2Z"/>
25
+ <path class="st0" d="M400.4,281.5c-1.1,3.7-3,7.3-3,11.4h1.3c.5-3.7,1.5-7.8,3.6-11,1,4.8-1.5,11.6-4.5,15.4s-.4.8-1.2.7c-1.1-4.5-1.3-10.8,1.5-14.8s1.9-2.2,2.3-1.7h0Z"/>
26
+ <path class="st0" d="M411.3,276.8c0-.8,2.1-.4,2.6-.3,2.4.4,4,1.7,6.2,2-1.2-3.1-5.7-3.2-8.4-3.8,0-.8.9-.4,1.4-.4,2.8,0,5.6.7,7.8,2.4,2.2,1.7,4,4,1.2,3.9-4.3,0-7.1-2.4-10.9-3.7h0Z"/>
27
+ <path class="st0" d="M395.3,279.8c-1.1,1.6-3,3-4,4.6s-1.9,2.8-.4,2.5,2.8-4,4.2-4.6-.9,3.6-1.1,4c-.4.7-4.7,5.2-5.4,4.5-.2-4.6,1.8-9.9,6.7-11h0Z"/>
28
+ <path class="st0" d="M437,309.7l-1,2.5c-3.6-2.3-8-2.8-12.1-4,.5-.7,1.1-.7,1.9-.7,3.4,0,7.8,1.8,11.2,2.1h0Z"/>
29
+ <path class="st0" d="M417.2,308.5c0-1,0-5.8,1.4-5.5,4,3.5,6.1,6.2-1.4,5.5Z"/>
30
+ <path class="st0" d="M400.4,276.4c-1.8-.3-3.5.7-5.2.4s-2.3-.8-1.9-1.4c.8-1.6,6.9-1.4,7.2,1h-.1Z"/>
31
+ <path class="st0" d="M410.9,270.1c.4,3-3.6,3.3-5.5,4.6-.6-1.8,5-5.1,5.5-4.6Z"/>
32
+ <path class="st0" d="M426.9,305.9c-2.5-.2-4.1-1.3-5.5-3.4,1.7-.4,2,.8,3,1.4s2.6.3,2.5,1.9h0Z"/>
33
+ <path class="st1" d="M432.4,270.9l.2-1.7c1.1,0,5.1-2.2,5.7-.6s-5.5,2.9-5.8,2.3h-.1Z"/>
34
+ <path class="st1" d="M431.6,265l.2-1.3c8.4-2.1,7.7,3.4-.2,1.3Z"/>
35
+ <path class="st1" d="M434.5,276c-1.1-1.5,5.1-4.6,5.5-2.7s-4.6,4-5.5,2.7Z"/>
36
+ <path class="st1" d="M442.9,276.4c1.1,1.1-4,6.4-4.6,4s3.7-4.9,4.6-4Z"/>
37
+ <path class="st1" d="M445.1,279.9c.7-.4,2.1,0,2,.9s-2.4,4.4-3.5,4,1.3-4.8,1.5-5h0Z"/>
38
+ <path class="st1" d="M448.9,287.4c-.3-.3.4-6.1,2.3-5.5,1.4.4-.2,6.2-2.3,5.5Z"/>
39
+ <path class="st1" d="M457.3,288.6l-1.3-.2-.3-.5c0-.9-.4-4.6.6-4.8,2.1.8,1.5,3.8,1,5.5h0Z"/>
40
+ <path class="st0" d="M420.5,312.8c8.9,0,17.9,4.7,23.4,11.3,5.6,6.6,3.8,3.5,0,6.2-10.7,7.7-26.1,9-38.2,4.2-1.9-.8-10.5-5.1-10.5-6.8s4-5.3,4.8-6.2c5.3-5,13.1-8.6,20.4-8.8h.1Z"/>
41
+ <path class="st0" d="M398.7,316.9l-13.9-1.4c1.7-1,5-.8,6.9-.6s5.6.7,7,2.1h0Z"/>
42
+ <path class="st0" d="M456.9,314.8c.7.5,0,.8-.6.8-1.6.2-3.5-.2-5.1,0-2.4.3-5.2,1.2-7.6,1.3s-1.1,0,0-.5,5.1-1.6,6-1.6h7.4,0Z"/>
43
+ </svg>
@@ -0,0 +1,28 @@
1
+ <% if (typescript) { %>
2
+ const reportWebVitals = (onPerfEntry?: () => void) => {
3
+ if (onPerfEntry && onPerfEntry instanceof Function) {
4
+ import("web-vitals").then(
5
+ ({ onCLS, onINP, onFCP, onLCP, onTTFB }) => {
6
+ onCLS(onPerfEntry);
7
+ onINP(onPerfEntry);
8
+ onFCP(onPerfEntry);
9
+ onLCP(onPerfEntry);
10
+ onTTFB(onPerfEntry);
11
+ }
12
+ );
13
+ }
14
+ };
15
+ <% } else { %>
16
+ const reportWebVitals = onPerfEntry => {
17
+ if (onPerfEntry && onPerfEntry instanceof Function) {
18
+ import('web-vitals').then(({ onCLS, onINP, onFCP, onLCP, onTTFB }) => {
19
+ onCLS(onPerfEntry);
20
+ onINP(onPerfEntry);
21
+ onFCP(onPerfEntry);
22
+ onLCP(onPerfEntry);
23
+ onTTFB(onPerfEntry);
24
+ });
25
+ }
26
+ };
27
+ <% } %>
28
+ export default reportWebVitals;
@@ -0,0 +1,15 @@
1
+ <% if (tailwind) { %>@import "tailwindcss";
2
+ <% } %>
3
+ body {
4
+ <% if (tailwind) { %>@apply m-0;<% } else { %>margin: 0;<% } %>
5
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
6
+ "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
7
+ sans-serif;
8
+ -webkit-font-smoothing: antialiased;
9
+ -moz-osx-font-smoothing: grayscale;
10
+ }
11
+
12
+ code {
13
+ font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
14
+ monospace;
15
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "include": ["**/*.ts", "**/*.tsx"],
3
+ "compilerOptions": {
4
+ "target": "ES2022",
5
+ "jsx": "react-jsx",
6
+ "module": "ESNext",
7
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
8
+ "types": ["vite/client"],
9
+
10
+ /* Bundler mode */
11
+ "moduleResolution": "bundler",
12
+ "allowImportingTsExtensions": true,
13
+ "verbatimModuleSyntax": true,
14
+ "noEmit": true,
15
+
16
+ /* Linting */
17
+ "skipLibCheck": true,
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noFallthroughCasesInSwitch": true,
22
+ "noUncheckedSideEffectImports": true
23
+ }
24
+ }
@@ -0,0 +1,15 @@
1
+ import { defineConfig } from "vite";
2
+ import viteReact from "@vitejs/plugin-react";<% if (tailwind) { %>
3
+ import tailwindcss from "@tailwindcss/vite";
4
+ <% } %><%if (fileRouter) { %>
5
+ import { TanStackRouterVite } from "@tanstack/router-plugin/vite";
6
+ <% } %>
7
+
8
+ // https://vitejs.dev/config/
9
+ export default defineConfig({
10
+ plugins: [<% if(fileRouter) { %>TanStackRouterVite(), <% } %>viteReact()<% if (tailwind) { %>, tailwindcss()<% } %>],
11
+ test: {
12
+ globals: true,
13
+ environment: "jsdom",
14
+ },
15
+ });
@@ -0,0 +1,61 @@
1
+ import { StrictMode } from "react";
2
+ import ReactDOM from "react-dom/client";
3
+ import {
4
+ Outlet,
5
+ RouterProvider,
6
+ createRootRoute,
7
+ createRoute,
8
+ createRouter,
9
+ } from "@tanstack/react-router";
10
+ import { TanStackRouterDevtools } from "@tanstack/router-devtools";
11
+
12
+ import "./styles.css";
13
+ import reportWebVitals from "./reportWebVitals.<%= js %>";
14
+
15
+ import App from "./App.<%= jsx %>";
16
+
17
+ const rootRoute = createRootRoute({
18
+ component: () => (
19
+ <>
20
+ <Outlet />
21
+ <TanStackRouterDevtools />
22
+ </>
23
+ ),
24
+ });
25
+
26
+ const indexRoute = createRoute({
27
+ getParentRoute: () => rootRoute,
28
+ path: "/",
29
+ component: App,
30
+ });
31
+
32
+ const routeTree = rootRoute.addChildren([indexRoute]);
33
+
34
+ const router = createRouter({
35
+ routeTree,
36
+ defaultPreload: "intent",
37
+ scrollRestoration: true,
38
+ });
39
+ <% if (typescript) { %>
40
+ declare module "@tanstack/react-router" {
41
+ interface Register {
42
+ router: typeof router;
43
+ }
44
+ }
45
+
46
+ const rootElement = document.getElementById("app")!;
47
+ <% } else { %>
48
+ const rootElement = document.getElementById("app");
49
+ <% } %>if (!rootElement.innerHTML) {
50
+ const root = ReactDOM.createRoot(rootElement);
51
+ root.render(
52
+ <StrictMode>
53
+ <RouterProvider router={router} />
54
+ </StrictMode>
55
+ );
56
+ }
57
+
58
+ // If you want to start measuring performance in your app, pass a function
59
+ // to log results (for example: reportWebVitals(console.log))
60
+ // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
61
+ reportWebVitals();
@@ -0,0 +1,5 @@
1
+ {
2
+ "dependencies": {
3
+ "@tanstack/router-plugin": "^1.105.0"
4
+ }
5
+ }
@@ -0,0 +1,35 @@
1
+ import { StrictMode } from "react";
2
+ import ReactDOM from "react-dom/client";
3
+ import { RouterProvider, createRouter } from "@tanstack/react-router";
4
+
5
+ // Import the generated route tree
6
+ import { routeTree } from "./routeTree.gen";
7
+
8
+ import "./styles.css";
9
+ import reportWebVitals from "./reportWebVitals.<%= js %>";
10
+
11
+ // Create a new router instance
12
+ const router = createRouter({ routeTree });
13
+
14
+ // Register the router instance for type safety
15
+ declare module "@tanstack/react-router" {
16
+ interface Register {
17
+ router: typeof router;
18
+ }
19
+ }
20
+
21
+ // Render the app
22
+ const rootElement = document.getElementById("app")!;
23
+ if (!rootElement.innerHTML) {
24
+ const root = ReactDOM.createRoot(rootElement);
25
+ root.render(
26
+ <StrictMode>
27
+ <RouterProvider router={router} />
28
+ </StrictMode>
29
+ );
30
+ }
31
+
32
+ // If you want to start measuring performance in your app, pass a function
33
+ // to log results (for example: reportWebVitals(console.log))
34
+ // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
35
+ reportWebVitals();
@@ -0,0 +1,11 @@
1
+ import { createRootRoute, Outlet } from '@tanstack/react-router'
2
+ import { TanStackRouterDevtools } from '@tanstack/router-devtools'
3
+
4
+ export const Route = createRootRoute({
5
+ component: () => (
6
+ <>
7
+ <Outlet />
8
+ <TanStackRouterDevtools />
9
+ </>
10
+ ),
11
+ })
package/tsconfig.json ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "ES2020",
5
+ "outDir": "./dist",
6
+ "rootDir": "./src",
7
+ "strict": true,
8
+ "esModuleInterop": true,
9
+ "skipLibCheck": true,
10
+ "forceConsistentCasingInFileNames": true,
11
+ "moduleResolution": "node"
12
+ },
13
+ "include": ["./src/**/*.ts"],
14
+ "exclude": ["node_modules", "dist"]
15
+ }