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.
- package/.gitattributes +2 -0
- package/.github/FUNDING.yml +1 -0
- package/.github/ISSUE_TEMPLATE/bug_report.yml +94 -0
- package/.github/ISSUE_TEMPLATE/config.yml +11 -0
- package/.github/workflows/auto.yml +46 -0
- package/.github/workflows/ci.yml +43 -0
- package/.nvmrc +1 -0
- package/.prettierignore +3 -0
- package/CONTRIBUTING.md +34 -0
- package/LICENSE +21 -0
- package/README.md +51 -0
- package/dist/index.js +199 -0
- package/dist/utils/getPackageManager.js +15 -0
- package/eslint.config.js +35 -0
- package/package.json +48 -0
- package/prettier.config.js +10 -0
- package/scripts/publish.js +33 -0
- package/src/index.ts +335 -0
- package/src/utils/getPackageManager.ts +22 -0
- package/templates/base/.vscode/settings.json +11 -0
- package/templates/base/README.md.ejs +530 -0
- package/templates/base/gitignore +5 -0
- package/templates/base/index.html.ejs +20 -0
- package/templates/base/package.json +28 -0
- package/templates/base/package.ts.json +7 -0
- package/templates/base/package.tw.json +6 -0
- package/templates/base/public/favicon.ico +0 -0
- package/templates/base/public/logo192.png +0 -0
- package/templates/base/public/logo512.png +0 -0
- package/templates/base/public/manifest.json +25 -0
- package/templates/base/public/robots.txt +3 -0
- package/templates/base/src/App.css +38 -0
- package/templates/base/src/App.test.tsx.ejs +10 -0
- package/templates/base/src/App.tsx.ejs +74 -0
- package/templates/base/src/logo.svg +43 -0
- package/templates/base/src/reportWebVitals.ts.ejs +28 -0
- package/templates/base/src/styles.css.ejs +15 -0
- package/templates/base/tsconfig.json +24 -0
- package/templates/base/vite.config.js.ejs +15 -0
- package/templates/code-router/src/main.tsx.ejs +61 -0
- package/templates/file-router/package.fr.json +5 -0
- package/templates/file-router/src/main.tsx.ejs +35 -0
- package/templates/file-router/src/routes/__root.tsx +11 -0
- 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,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
|
+
}
|