@tanstack/cta-engine 0.10.0-alpha.21 → 0.10.0-alpha.25
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/dist/add-ons.js +91 -5
- package/dist/add.js +125 -0
- package/dist/cli.js +132 -0
- package/dist/config-file.js +9 -14
- package/dist/constants.js +2 -0
- package/dist/create-app.js +451 -142
- package/dist/custom-add-on.js +254 -0
- package/dist/environment.js +32 -64
- package/dist/file-helper.js +18 -0
- package/dist/index.js +1 -17
- package/dist/mcp.js +229 -0
- package/dist/options.js +333 -9
- package/dist/package-manager.js +6 -51
- package/dist/templates.js +6 -0
- package/dist/toolchain.js +6 -0
- package/dist/types/add-ons.d.ts +8 -3
- package/dist/types/add.d.ts +3 -0
- package/dist/types/cli.d.ts +7 -0
- package/dist/types/config-file.d.ts +4 -6
- package/dist/types/constants.d.ts +3 -0
- package/dist/types/create-app.d.ts +7 -1
- package/dist/types/custom-add-on.d.ts +3 -0
- package/dist/types/environment.d.ts +1 -2
- package/dist/types/file-helper.d.ts +2 -0
- package/dist/types/index.d.ts +1 -20
- package/dist/types/mcp.d.ts +7 -0
- package/dist/types/options.d.ts +6 -2
- package/dist/types/package-manager.d.ts +1 -18
- package/dist/types/templates.d.ts +1 -0
- package/dist/types/toolchain.d.ts +3 -0
- package/dist/types/types.d.ts +85 -788
- package/dist/types/utils.d.ts +0 -5
- package/dist/types.js +1 -65
- package/dist/utils.js +0 -9
- package/package.json +12 -9
- package/src/add-ons.ts +123 -7
- package/src/add.ts +186 -0
- package/src/cli.ts +210 -0
- package/src/config-file.ts +17 -26
- package/src/constants.ts +5 -0
- package/src/create-app.ts +730 -180
- package/src/custom-add-on.ts +325 -0
- package/src/environment.ts +33 -77
- package/src/file-helper.ts +20 -0
- package/src/index.ts +1 -77
- package/src/mcp.ts +302 -0
- package/src/options.ts +409 -8
- package/src/package-manager.ts +9 -80
- package/src/templates.ts +7 -0
- package/src/toolchain.ts +7 -0
- package/src/types.ts +87 -175
- package/src/utils.ts +0 -17
- package/templates/react/add-on/clerk/README.md +3 -0
- package/templates/react/add-on/clerk/assets/_dot_env.local.append +2 -0
- package/templates/react/add-on/clerk/assets/src/integrations/clerk/header-user.tsx +19 -0
- package/templates/react/add-on/clerk/assets/src/integrations/clerk/provider.tsx +18 -0
- package/templates/react/add-on/clerk/assets/src/routes/demo.clerk.tsx +20 -0
- package/templates/react/add-on/clerk/info.json +13 -0
- package/templates/react/add-on/clerk/package.json +5 -0
- package/templates/react/add-on/convex/README.md +4 -0
- package/templates/react/add-on/convex/assets/_dot_cursorrules.append +93 -0
- package/templates/react/add-on/convex/assets/_dot_env.local.append +3 -0
- package/templates/react/add-on/convex/assets/convex/products.ts +8 -0
- package/templates/react/add-on/convex/assets/convex/schema.ts +10 -0
- package/templates/react/add-on/convex/assets/src/integrations/convex/provider.tsx +20 -0
- package/templates/react/add-on/convex/assets/src/routes/demo.convex.tsx +33 -0
- package/templates/react/add-on/convex/info.json +13 -0
- package/templates/react/add-on/convex/package.json +6 -0
- package/templates/react/add-on/form/assets/src/components/demo.FormComponents.tsx.ejs +300 -0
- package/templates/react/add-on/form/assets/src/hooks/demo.form-context.ts +4 -0
- package/templates/react/add-on/form/assets/src/hooks/demo.form.ts +22 -0
- package/templates/react/add-on/form/assets/src/routes/demo.form.address.tsx.ejs +213 -0
- package/templates/react/add-on/form/assets/src/routes/demo.form.simple.tsx.ejs +77 -0
- package/templates/react/add-on/form/info.json +26 -0
- package/templates/react/add-on/form/package.json +6 -0
- package/templates/react/add-on/module-federation/assets/module-federation.config.js.ejs +31 -0
- package/templates/react/add-on/module-federation/assets/src/demo-mf-component.tsx +3 -0
- package/templates/react/add-on/module-federation/assets/src/demo-mf-self-contained.tsx +11 -0
- package/templates/react/add-on/module-federation/info.json +7 -0
- package/templates/react/add-on/module-federation/package.json +5 -0
- package/templates/react/add-on/netlify/README.md +11 -0
- package/templates/react/add-on/netlify/info.json +7 -0
- package/templates/react/add-on/sentry/assets/_dot_cursorrules.append +22 -0
- package/templates/react/add-on/sentry/assets/_dot_env.local.append +11 -0
- package/templates/react/add-on/sentry/assets/src/app/global-middleware.ts +11 -0
- package/templates/react/add-on/sentry/assets/src/routes/demo.sentry.testing.tsx +489 -0
- package/templates/react/add-on/sentry/info.json +14 -0
- package/templates/react/add-on/sentry/package.json +5 -0
- package/templates/react/add-on/shadcn/README.md +7 -0
- package/templates/react/add-on/shadcn/assets/_dot_cursorrules.append +7 -0
- package/templates/react/add-on/shadcn/assets/components.json +21 -0
- package/templates/react/add-on/shadcn/assets/src/lib/utils.ts +6 -0
- package/templates/react/add-on/shadcn/assets/src/styles.css +138 -0
- package/templates/react/add-on/shadcn/info.json +7 -0
- package/templates/react/add-on/shadcn/package.json +9 -0
- package/templates/react/add-on/start/assets/_dot_gitignore.append +2 -0
- package/templates/react/add-on/start/assets/app.config.ts.ejs +32 -0
- package/templates/react/add-on/start/assets/src/api.ts +6 -0
- package/templates/react/add-on/start/assets/src/client.tsx.ejs +33 -0
- package/templates/react/add-on/start/assets/src/router.tsx.ejs +48 -0
- package/templates/react/add-on/start/assets/src/routes/api.demo-names.ts +11 -0
- package/templates/react/add-on/start/assets/src/routes/demo.start.api-request.tsx.ejs +33 -0
- package/templates/react/add-on/start/assets/src/routes/demo.start.server-funcs.tsx +50 -0
- package/templates/react/add-on/start/assets/src/ssr.tsx.ejs +30 -0
- package/templates/react/add-on/start/info.json +18 -0
- package/templates/react/add-on/start/package.json +13 -0
- package/templates/react/add-on/store/assets/src/lib/demo-store.ts +13 -0
- package/templates/react/add-on/store/assets/src/routes/demo.store.tsx.ejs +75 -0
- package/templates/react/add-on/store/info.json +13 -0
- package/templates/react/add-on/store/package.json +6 -0
- package/templates/react/add-on/t3env/README.md +16 -0
- package/templates/react/add-on/t3env/assets/src/env.ts +39 -0
- package/templates/react/add-on/t3env/info.json +10 -0
- package/templates/react/add-on/t3env/package.json +6 -0
- package/templates/react/add-on/tRPC/assets/src/integrations/trpc/init.ts +9 -0
- package/templates/react/add-on/tRPC/assets/src/integrations/trpc/react.ts +4 -0
- package/templates/react/add-on/tRPC/assets/src/integrations/trpc/router.ts +18 -0
- package/templates/react/add-on/tRPC/assets/src/routes/api.trpc.$.tsx +16 -0
- package/templates/react/add-on/tRPC/info.json +9 -0
- package/templates/react/add-on/tRPC/package.json +9 -0
- package/templates/react/add-on/table/assets/src/data/demo-table-data.ts +50 -0
- package/templates/react/add-on/table/assets/src/routes/demo.table.tsx.ejs +373 -0
- package/templates/react/add-on/table/info.json +13 -0
- package/templates/react/add-on/table/package.json +7 -0
- package/templates/react/add-on/tanstack-query/assets/src/integrations/tanstack-query/layout.tsx +5 -0
- package/templates/react/add-on/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs +70 -0
- package/templates/react/add-on/tanstack-query/assets/src/routes/demo.tanstack-query.tsx.ejs +53 -0
- package/templates/react/add-on/tanstack-query/info.json +13 -0
- package/templates/react/add-on/tanstack-query/package.json +6 -0
- package/templates/react/base/README.md.ejs +558 -0
- package/templates/react/base/_dot_gitignore +5 -0
- package/templates/react/base/_dot_vscode/settings.biome.json +35 -0
- package/templates/react/base/_dot_vscode/settings.json +11 -0
- package/templates/react/base/index.html.ejs +20 -0
- package/templates/react/base/package.biome.json +10 -0
- package/templates/react/base/package.eslintprettier.json +11 -0
- package/templates/react/base/package.json +30 -0
- package/templates/react/base/package.ts.json +7 -0
- package/templates/react/base/package.tw.json +6 -0
- package/templates/react/base/public/favicon.ico +0 -0
- package/templates/react/base/public/logo192.png +0 -0
- package/templates/react/base/public/logo512.png +0 -0
- package/templates/react/base/public/manifest.json +25 -0
- package/templates/react/base/public/robots.txt +3 -0
- package/templates/react/base/src/App.css +38 -0
- package/templates/react/base/src/App.test.tsx.ejs +10 -0
- package/templates/react/base/src/App.tsx.ejs +74 -0
- package/templates/react/base/src/components/Header.tsx.ejs +27 -0
- package/templates/react/base/src/logo.svg +44 -0
- package/templates/react/base/src/reportWebVitals.ts.ejs +28 -0
- package/templates/react/base/src/styles.css.ejs +15 -0
- package/templates/react/base/toolchain/.prettierignore +3 -0
- package/templates/react/base/toolchain/biome.json +31 -0
- package/templates/react/base/toolchain/eslint.config.js +5 -0
- package/templates/react/base/toolchain/prettier.config.js +10 -0
- package/templates/react/base/tsconfig.json.ejs +29 -0
- package/templates/react/base/vite.config.js.ejs +23 -0
- package/templates/react/code-router/src/main.tsx.ejs +92 -0
- package/templates/react/example/tanchat/README.md +37 -0
- package/templates/react/example/tanchat/assets/_dot_env.local.append +2 -0
- package/templates/react/example/tanchat/assets/public/example-guitar-flowers.jpg +0 -0
- package/templates/react/example/tanchat/assets/public/example-guitar-motherboard.jpg +0 -0
- package/templates/react/example/tanchat/assets/public/example-guitar-racing.jpg +0 -0
- package/templates/react/example/tanchat/assets/public/example-guitar-steamer-trunk.jpg +0 -0
- package/templates/react/example/tanchat/assets/public/example-guitar-superhero.jpg +0 -0
- package/templates/react/example/tanchat/assets/public/example-guitar-traveling.jpg +0 -0
- package/templates/react/example/tanchat/assets/public/example-guitar-video-games.jpg +0 -0
- package/templates/react/example/tanchat/assets/src/components/example-AIAssistant.tsx +173 -0
- package/templates/react/example/tanchat/assets/src/components/example-GuitarRecommendation.tsx +47 -0
- package/templates/react/example/tanchat/assets/src/data/example-guitars.ts +83 -0
- package/templates/react/example/tanchat/assets/src/demo.index.css +220 -0
- package/templates/react/example/tanchat/assets/src/integrations/tanchat/header-user.tsx +5 -0
- package/templates/react/example/tanchat/assets/src/routes/api.messages.ts +24 -0
- package/templates/react/example/tanchat/assets/src/routes/api.sse.ts +23 -0
- package/templates/react/example/tanchat/assets/src/routes/example.chat.tsx +159 -0
- package/templates/react/example/tanchat/assets/src/routes/example.guitars/$guitarId.tsx +50 -0
- package/templates/react/example/tanchat/assets/src/routes/example.guitars/index.tsx +54 -0
- package/templates/react/example/tanchat/assets/src/store/example-assistant.ts +3 -0
- package/templates/react/example/tanchat/assets/src/utils/demo.ai.ts +62 -0
- package/templates/react/example/tanchat/assets/src/utils/demo.sse.ts +31 -0
- package/templates/react/example/tanchat/assets/src/utils/demo.tools.ts +47 -0
- package/templates/react/example/tanchat/info.json +19 -0
- package/templates/react/example/tanchat/package.json +16 -0
- package/templates/react/file-router/package.fr.json +5 -0
- package/templates/react/file-router/src/main.tsx.ejs +55 -0
- package/templates/react/file-router/src/routes/__root.tsx.ejs +82 -0
- package/templates/solid/add-on/form/assets/src/routes/demo.form.tsx.ejs +352 -0
- package/templates/solid/add-on/form/info.json +13 -0
- package/templates/solid/add-on/form/package.json +5 -0
- package/templates/solid/add-on/module-federation/assets/module-federation.config.js.ejs +27 -0
- package/templates/solid/add-on/module-federation/assets/src/demo-mf-component.tsx +3 -0
- package/templates/solid/add-on/module-federation/assets/src/demo-mf-self-contained.tsx +9 -0
- package/templates/solid/add-on/module-federation/info.json +7 -0
- package/templates/solid/add-on/module-federation/package.json +5 -0
- package/templates/solid/add-on/sentry/assets/_dot_cursorrules.append +22 -0
- package/templates/solid/add-on/sentry/assets/_dot_env.local.append +2 -0
- package/templates/solid/add-on/sentry/assets/src/routes/demo.sentry.bad-event-handler.tsx +20 -0
- package/templates/solid/add-on/sentry/info.json +13 -0
- package/templates/solid/add-on/sentry/package.json +5 -0
- package/templates/solid/add-on/solid-ui/README.md +9 -0
- package/templates/solid/add-on/solid-ui/assets/src/lib/utils.ts +6 -0
- package/templates/solid/add-on/solid-ui/assets/src/styles.css +138 -0
- package/templates/solid/add-on/solid-ui/assets/ui.config.json +13 -0
- package/templates/solid/add-on/solid-ui/info.json +11 -0
- package/templates/solid/add-on/solid-ui/package.json +9 -0
- package/templates/solid/add-on/start/assets/app.config.ts +16 -0
- package/templates/solid/add-on/start/assets/src/api.ts +6 -0
- package/templates/solid/add-on/start/assets/src/client.tsx +7 -0
- package/templates/solid/add-on/start/assets/src/router.tsx.ejs +24 -0
- package/templates/solid/add-on/start/assets/src/routes/demo.start.server-funcs.tsx +49 -0
- package/templates/solid/add-on/start/assets/src/ssr.tsx +12 -0
- package/templates/solid/add-on/start/info.json +14 -0
- package/templates/solid/add-on/start/package.json +12 -0
- package/templates/solid/add-on/store/assets/src/lib/demo-store.ts +13 -0
- package/templates/solid/add-on/store/assets/src/routes/demo.store.tsx.ejs +77 -0
- package/templates/solid/add-on/store/info.json +13 -0
- package/templates/solid/add-on/store/package.json +6 -0
- package/templates/solid/add-on/t3env/README.md +16 -0
- package/templates/solid/add-on/t3env/assets/src/env.ts +39 -0
- package/templates/solid/add-on/t3env/info.json +10 -0
- package/templates/solid/add-on/t3env/package.json +6 -0
- package/templates/solid/add-on/tanstack-query/assets/src/integrations/tanstack-query/header-user.tsx +5 -0
- package/templates/solid/add-on/tanstack-query/assets/src/integrations/tanstack-query/provider.tsx +15 -0
- package/templates/solid/add-on/tanstack-query/assets/src/routes/demo.tanstack-query.tsx +30 -0
- package/templates/solid/add-on/tanstack-query/info.json +13 -0
- package/templates/solid/add-on/tanstack-query/package.json +6 -0
- package/templates/solid/base/README.md.ejs +215 -0
- package/templates/solid/base/_dot_cursorrules.append +35 -0
- package/templates/solid/base/_dot_gitignore +5 -0
- package/templates/solid/base/_dot_vscode/settings.biome.json +35 -0
- package/templates/solid/base/_dot_vscode/settings.json +11 -0
- package/templates/solid/base/index.html.ejs +20 -0
- package/templates/solid/base/package.biome.json +10 -0
- package/templates/solid/base/package.eslintprettier.json +11 -0
- package/templates/solid/base/package.json +23 -0
- package/templates/solid/base/package.ts.json +5 -0
- package/templates/solid/base/package.tw.json +6 -0
- package/templates/solid/base/public/favicon.ico +0 -0
- package/templates/solid/base/public/logo192.png +0 -0
- package/templates/solid/base/public/logo512.png +0 -0
- package/templates/solid/base/public/manifest.json +25 -0
- package/templates/solid/base/public/robots.txt +3 -0
- package/templates/solid/base/src/App.css +0 -0
- package/templates/solid/base/src/App.tsx.ejs +47 -0
- package/templates/solid/base/src/components/Header.tsx.ejs +26 -0
- package/templates/solid/base/src/logo.svg +120 -0
- package/templates/solid/base/src/styles.css.ejs +15 -0
- package/templates/solid/base/toolchain/.prettierignore +3 -0
- package/templates/solid/base/toolchain/biome.json +31 -0
- package/templates/solid/base/toolchain/eslint.config.js +5 -0
- package/templates/solid/base/toolchain/prettier.config.js +10 -0
- package/templates/solid/base/tsconfig.json.ejs +31 -0
- package/templates/solid/base/vite.config.js.ejs +22 -0
- package/templates/solid/code-router/src/main.tsx.ejs +71 -0
- package/templates/solid/example/tanchat/README.md +52 -0
- package/templates/solid/example/tanchat/assets/ai-streaming-server/README.md +110 -0
- package/templates/solid/example/tanchat/assets/ai-streaming-server/_dot_env.example +1 -0
- package/templates/solid/example/tanchat/assets/ai-streaming-server/package.json +26 -0
- package/templates/solid/example/tanchat/assets/ai-streaming-server/src/index.ts +102 -0
- package/templates/solid/example/tanchat/assets/ai-streaming-server/tsconfig.json +15 -0
- package/templates/solid/example/tanchat/assets/src/components/demo.SettingsDialog.tsx +149 -0
- package/templates/solid/example/tanchat/assets/src/demo.index.css +227 -0
- package/templates/solid/example/tanchat/assets/src/lib/demo-store.ts +13 -0
- package/templates/solid/example/tanchat/assets/src/routes/example.chat.tsx +435 -0
- package/templates/solid/example/tanchat/assets/src/store/demo.hooks.ts +17 -0
- package/templates/solid/example/tanchat/assets/src/store/demo.store.ts +133 -0
- package/templates/solid/example/tanchat/info.json +14 -0
- package/templates/solid/example/tanchat/package.json +7 -0
- package/templates/solid/file-router/package.fr.json +5 -0
- package/templates/solid/file-router/src/main.tsx.ejs +47 -0
- package/templates/solid/file-router/src/routes/__root.tsx.ejs +41 -0
- package/templates/solid/file-router/src/routes/index.tsx +43 -0
- package/tests/cra.test.ts +293 -0
- package/tests/snapshots/cra/cr-js-npm.json +33 -0
- package/tests/snapshots/cra/cr-ts-npm.json +34 -0
- package/tests/snapshots/cra/cr-ts-start-npm.json +38 -0
- package/tests/snapshots/cra/fr-ts-npm.json +34 -0
- package/tests/snapshots/cra/fr-ts-tw-npm.json +33 -0
- package/tests/snapshots/cra/solid-cr-js-npm.json +31 -0
- package/tests/snapshots/cra/solid-cr-ts-npm.json +32 -0
- package/tests/snapshots/cra/solid-cr-ts-start-npm.json +36 -0
- package/tests/snapshots/cra/solid-fr-ts-npm.json +33 -0
- package/tests/snapshots/cra/solid-fr-ts-tw-npm.json +32 -0
- package/tests/test-utilities.ts +87 -0
- package/dist/add-to-app.js +0 -169
- package/dist/custom-add-ons/add-on.js +0 -175
- package/dist/custom-add-ons/shared.js +0 -117
- package/dist/custom-add-ons/starter.js +0 -84
- package/dist/file-helpers.js +0 -165
- package/dist/frameworks.js +0 -92
- package/dist/integrations/git.js +0 -4
- package/dist/integrations/shadcn.js +0 -33
- package/dist/package-json.js +0 -48
- package/dist/special-steps/index.js +0 -24
- package/dist/special-steps/rimraf-node-modules.js +0 -16
- package/dist/template-file.js +0 -112
- package/dist/types/add-to-app.d.ts +0 -17
- package/dist/types/custom-add-ons/add-on.d.ts +0 -69
- package/dist/types/custom-add-ons/shared.d.ts +0 -15
- package/dist/types/custom-add-ons/starter.d.ts +0 -7
- package/dist/types/file-helpers.d.ts +0 -15
- package/dist/types/frameworks.d.ts +0 -7
- package/dist/types/integrations/git.d.ts +0 -2
- package/dist/types/integrations/shadcn.d.ts +0 -2
- package/dist/types/package-json.d.ts +0 -7
- package/dist/types/special-steps/index.d.ts +0 -2
- package/dist/types/special-steps/rimraf-node-modules.d.ts +0 -2
- package/dist/types/template-file.d.ts +0 -2
- package/src/add-to-app.ts +0 -274
- package/src/custom-add-ons/add-on.ts +0 -261
- package/src/custom-add-ons/shared.ts +0 -161
- package/src/custom-add-ons/starter.ts +0 -126
- package/src/file-helpers.ts +0 -235
- package/src/frameworks.ts +0 -134
- package/src/integrations/git.ts +0 -7
- package/src/integrations/shadcn.ts +0 -54
- package/src/package-json.ts +0 -69
- package/src/special-steps/index.ts +0 -36
- package/src/special-steps/rimraf-node-modules.ts +0 -25
- package/src/template-file.ts +0 -150
- package/tests/add-ons.test.ts +0 -67
- package/tests/add-to-app.test.ts +0 -358
- package/tests/config-file.test.ts +0 -68
- package/tests/create-app.test.ts +0 -120
- package/tests/custom-add-ons/add-on.test.ts +0 -12
- package/tests/custom-add-ons/shared.test.ts +0 -257
- package/tests/custom-add-ons/starter.test.ts +0 -58
- package/tests/environment.test.ts +0 -115
- package/tests/file-helper.test.ts +0 -90
- package/tests/frameworks.test.ts +0 -95
- package/tests/index.test.ts +0 -9
- package/tests/integrations/git.test.ts +0 -20
- package/tests/integrations/shadcn.test.ts +0 -91
- package/tests/options.test.ts +0 -42
- package/tests/package-json.test.ts +0 -63
- package/tests/package-manager.test.ts +0 -154
- package/tests/setupVitest.ts +0 -6
- package/tests/template-file.test.ts +0 -178
- package/tests/utils.test.ts +0 -23
- package/vitest.config.ts +0 -21
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Solid.js with Tailwind CSS .cursorrules
|
|
2
|
+
|
|
3
|
+
// Prefer functional components
|
|
4
|
+
|
|
5
|
+
const preferFunctionalComponents = true;
|
|
6
|
+
|
|
7
|
+
// Solid.js and Tailwind CSS best practices
|
|
8
|
+
|
|
9
|
+
const solidjsTailwindBestPractices = [
|
|
10
|
+
"Use createSignal() for reactive state",
|
|
11
|
+
"Implement Tailwind CSS classes for styling",
|
|
12
|
+
"Utilize TypeScript's strict mode",
|
|
13
|
+
"Utilize @apply directive in CSS files for reusable styles",
|
|
14
|
+
"Implement responsive design using Tailwind's responsive classes",
|
|
15
|
+
"Use Tailwind's CSS in /src/styles.css for global styles",
|
|
16
|
+
"Implement dark mode using Tailwind's dark variant",
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
// Additional instructions
|
|
20
|
+
|
|
21
|
+
const additionalInstructions = `
|
|
22
|
+
|
|
23
|
+
1. Use .tsx extension for files with JSX
|
|
24
|
+
2. Implement strict TypeScript checks
|
|
25
|
+
3. Implement proper Tailwind CSS purging for production builds
|
|
26
|
+
4. Utilize TanStack Router for routing when applicable
|
|
27
|
+
5. Use type-safe context with createContext
|
|
28
|
+
6. Implement proper typing for event handlers
|
|
29
|
+
7. Follow TypeScript best practices and naming conventions
|
|
30
|
+
8. Use type assertions sparingly and only when necessary
|
|
31
|
+
9. Use Tailwind's @layer directive for custom styles
|
|
32
|
+
10. Implement utility-first CSS approach
|
|
33
|
+
11. Follow both Solid.js and Tailwind naming conventions
|
|
34
|
+
12. Use JIT (Just-In-Time) mode for faster development
|
|
35
|
+
`;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files.watcherExclude": {
|
|
3
|
+
"**/routeTree.gen.ts": true
|
|
4
|
+
},
|
|
5
|
+
"search.exclude": {
|
|
6
|
+
"**/routeTree.gen.ts": true
|
|
7
|
+
},
|
|
8
|
+
"files.readonlyInclude": {
|
|
9
|
+
"**/routeTree.gen.ts": true
|
|
10
|
+
},
|
|
11
|
+
"[javascript]": {
|
|
12
|
+
"editor.defaultFormatter": "biomejs.biome"
|
|
13
|
+
},
|
|
14
|
+
"[javascriptreact]": {
|
|
15
|
+
"editor.defaultFormatter": "biomejs.biome"
|
|
16
|
+
},
|
|
17
|
+
"[typescript]": {
|
|
18
|
+
"editor.defaultFormatter": "biomejs.biome"
|
|
19
|
+
},
|
|
20
|
+
"[typescriptreact]": {
|
|
21
|
+
"editor.defaultFormatter": "biomejs.biome"
|
|
22
|
+
},
|
|
23
|
+
"[json]": {
|
|
24
|
+
"editor.defaultFormatter": "biomejs.biome"
|
|
25
|
+
},
|
|
26
|
+
"[jsonc]": {
|
|
27
|
+
"editor.defaultFormatter": "biomejs.biome"
|
|
28
|
+
},
|
|
29
|
+
"[css]": {
|
|
30
|
+
"editor.defaultFormatter": "biomejs.biome"
|
|
31
|
+
},
|
|
32
|
+
"editor.codeActionsOnSave": {
|
|
33
|
+
"source.organizeImports.biome": "explicit"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="icon" href="/favicon.ico" />
|
|
7
|
+
<meta name="theme-color" content="#000000" />
|
|
8
|
+
<meta
|
|
9
|
+
name="description"
|
|
10
|
+
content="Web site created using create-tsrouter-app"
|
|
11
|
+
/>
|
|
12
|
+
<link rel="apple-touch-icon" href="/logo192.png" />
|
|
13
|
+
<link rel="manifest" href="/manifest.json" />
|
|
14
|
+
<title>Create TanStack App - app-ts</title>
|
|
15
|
+
</head>
|
|
16
|
+
<body>
|
|
17
|
+
<div id="app"></div>
|
|
18
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "app-ts",
|
|
3
|
+
"private": true,
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "vite --port 3000",
|
|
7
|
+
"start": "vite --port 3000",
|
|
8
|
+
"build": "vite build && tsc",
|
|
9
|
+
"serve": "vite preview",
|
|
10
|
+
"test": "vitest run"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@tanstack/solid-router": "^1.110.0",
|
|
14
|
+
"@tanstack/solid-router-devtools": "^1.109.2",
|
|
15
|
+
"@tanstack/router-plugin": "^1.109.2",
|
|
16
|
+
"solid-js": "^1.9.4"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"vite-plugin-solid": "^2.11.2",
|
|
20
|
+
"typescript": "^5.7.2",
|
|
21
|
+
"vite": "^6.0.11"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"short_name": "TanStack App",
|
|
3
|
+
"name": "Create TanStack App Sample",
|
|
4
|
+
"icons": [
|
|
5
|
+
{
|
|
6
|
+
"src": "favicon.ico",
|
|
7
|
+
"sizes": "64x64 32x32 24x24 16x16",
|
|
8
|
+
"type": "image/x-icon"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"src": "logo192.png",
|
|
12
|
+
"type": "image/png",
|
|
13
|
+
"sizes": "192x192"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"src": "logo512.png",
|
|
17
|
+
"type": "image/png",
|
|
18
|
+
"sizes": "512x512"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"start_url": ".",
|
|
22
|
+
"display": "standalone",
|
|
23
|
+
"theme_color": "#000000",
|
|
24
|
+
"background_color": "#ffffff"
|
|
25
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<% if (fileRouter) { %>
|
|
2
|
+
import { createFileRoute } from "@tanstack/solid-router";
|
|
3
|
+
import logo from "../logo.svg";
|
|
4
|
+
<% } else { %>
|
|
5
|
+
import logo from "./logo.svg";
|
|
6
|
+
<% } %>
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
<% if (fileRouter) { %>
|
|
10
|
+
export const Route = createFileRoute("/")({
|
|
11
|
+
component: App,
|
|
12
|
+
});<% } %>
|
|
13
|
+
|
|
14
|
+
function App() {
|
|
15
|
+
return (
|
|
16
|
+
<main class="min-h-screen flex flex-col items-center justify-center bg-[#282c34] text-white text-[calc(10px+2vmin)] text-center">
|
|
17
|
+
<img
|
|
18
|
+
src={logo}
|
|
19
|
+
class="h-[40vmin] pointer-events-none animate-[spin_20s_linear_infinite]"
|
|
20
|
+
alt="logo"
|
|
21
|
+
/>
|
|
22
|
+
<p>
|
|
23
|
+
Edit <code><% if (fileRouter) { %>src/routes/index.tsx<% } else {%>src/App.<%= jsx %><% } %></code> and save to reload.
|
|
24
|
+
</p>
|
|
25
|
+
<a
|
|
26
|
+
class="text-[#61dafb] hover:underline"
|
|
27
|
+
href="https://solidjs.com"
|
|
28
|
+
target="_blank"
|
|
29
|
+
rel="noopener noreferrer"
|
|
30
|
+
>
|
|
31
|
+
Learn Solid
|
|
32
|
+
</a>
|
|
33
|
+
<a
|
|
34
|
+
class="text-[#61dafb] hover:underline"
|
|
35
|
+
href="https://tanstack.com"
|
|
36
|
+
target="_blank"
|
|
37
|
+
rel="noopener noreferrer"
|
|
38
|
+
>
|
|
39
|
+
Learn TanStack
|
|
40
|
+
</a>
|
|
41
|
+
</main>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
<% if (!fileRouter) { %>
|
|
46
|
+
export default App;
|
|
47
|
+
<% } %>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Link } from '@tanstack/solid-router'
|
|
2
|
+
<% for(const integration of integrations.filter(i => i.type === 'header-user')) { %>
|
|
3
|
+
import <%= integration.name %> from "../<%= integration.path %>";
|
|
4
|
+
<% } %>
|
|
5
|
+
|
|
6
|
+
export default function Header() {
|
|
7
|
+
return (
|
|
8
|
+
<header class="p-2 flex gap-2 bg-white text-black justify-between">
|
|
9
|
+
<nav class="flex flex-row">
|
|
10
|
+
<div class="px-2 font-bold">
|
|
11
|
+
<Link to="/">Home</Link>
|
|
12
|
+
</div>
|
|
13
|
+
<% for(const addOn of addOns) {
|
|
14
|
+
for(const route of addOn?.routes || []) { %>
|
|
15
|
+
<div class="px-2 font-bold"><Link to="<%= route.url %>"><%= route.name %></Link></div>
|
|
16
|
+
<% } } %>
|
|
17
|
+
</nav>
|
|
18
|
+
|
|
19
|
+
<div>
|
|
20
|
+
<% for(const integration of integrations.filter(i => i.type === 'header-user')) { %>
|
|
21
|
+
<<%= integration.name %> />
|
|
22
|
+
<% } %>
|
|
23
|
+
</div>
|
|
24
|
+
</header>
|
|
25
|
+
)
|
|
26
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 166 155.3">
|
|
3
|
+
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
|
|
4
|
+
<defs>
|
|
5
|
+
<style>
|
|
6
|
+
.st0 {
|
|
7
|
+
fill: url(#linear-gradient2);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.st1 {
|
|
11
|
+
fill: url(#linear-gradient3);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.st2 {
|
|
15
|
+
fill: #9ae7fc;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.st3 {
|
|
19
|
+
fill: #518ac8;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.st4 {
|
|
23
|
+
fill: #76b3e1;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.st5 {
|
|
27
|
+
fill: url(#linear-gradient);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.st5, .st6 {
|
|
31
|
+
isolation: isolate;
|
|
32
|
+
opacity: .3;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.st7 {
|
|
36
|
+
fill: #61dafb;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.st6 {
|
|
40
|
+
fill: url(#linear-gradient1);
|
|
41
|
+
}
|
|
42
|
+
</style>
|
|
43
|
+
<linearGradient id="linear-gradient" x1="27.4" y1="154.8" x2="151.9" y2="94.3" gradientTransform="translate(0 158) scale(1 -1)" gradientUnits="userSpaceOnUse">
|
|
44
|
+
<stop offset="0" stop-color="#76b3e1"/>
|
|
45
|
+
<stop offset=".3" stop-color="#dcf2fd"/>
|
|
46
|
+
<stop offset="1" stop-color="#76b3e1"/>
|
|
47
|
+
</linearGradient>
|
|
48
|
+
<linearGradient id="linear-gradient1" x1="95.9" y1="125.4" x2="74.1" y2="52.8" gradientTransform="translate(0 158) scale(1 -1)" gradientUnits="userSpaceOnUse">
|
|
49
|
+
<stop offset="0" stop-color="#76b3e1"/>
|
|
50
|
+
<stop offset=".5" stop-color="#4377bb"/>
|
|
51
|
+
<stop offset="1" stop-color="#1f3b77"/>
|
|
52
|
+
</linearGradient>
|
|
53
|
+
<linearGradient id="linear-gradient2" x1="18.3" y1="93.7" x2="144.2" y2="8.1" gradientTransform="translate(0 158) scale(1 -1)" gradientUnits="userSpaceOnUse">
|
|
54
|
+
<stop offset="0" stop-color="#315aa9"/>
|
|
55
|
+
<stop offset=".5" stop-color="#518ac8"/>
|
|
56
|
+
<stop offset="1" stop-color="#315aa9"/>
|
|
57
|
+
</linearGradient>
|
|
58
|
+
<linearGradient id="linear-gradient3" x1="75.3" y1="83.5" x2="24.5" y2="-102.8" gradientTransform="translate(0 158) scale(1 -1)" gradientUnits="userSpaceOnUse">
|
|
59
|
+
<stop offset="0" stop-color="#4377bb"/>
|
|
60
|
+
<stop offset=".5" stop-color="#1a336b"/>
|
|
61
|
+
<stop offset="1" stop-color="#1a336b"/>
|
|
62
|
+
</linearGradient>
|
|
63
|
+
</defs>
|
|
64
|
+
<g id="Layer_1">
|
|
65
|
+
<path class="st4" d="M163,35S110-4,69,5l-3,1c-6,2-11,5-14,9l-2,3-15,26,26,5c11,7,25,10,38,7l46,9,18-30Z"/>
|
|
66
|
+
<path class="st5" d="M163,35S110-4,69,5l-3,1c-6,2-11,5-14,9l-2,3-15,26,26,5c11,7,25,10,38,7l46,9,18-30Z"/>
|
|
67
|
+
<path class="st3" d="M52,35l-4,1c-17,5-22,21-13,35,10,13,31,20,48,15l62-21s-53-39-93-30Z"/>
|
|
68
|
+
<path class="st6" d="M52,35l-4,1c-17,5-22,21-13,35,10,13,31,20,48,15l62-21s-53-39-93-30Z"/>
|
|
69
|
+
<path class="st0" d="M134,80c-11.5-14.3-30.4-20.2-48-15l-62,20L4,120l112,19,20-36c4-7,3-15-2-23Z"/>
|
|
70
|
+
<path class="st1" d="M114,115c-11.5-14.3-30.4-20.2-48-15L4,120s53,40,94,30l3-1c17-5,23-21,13-34Z"/>
|
|
71
|
+
</g>
|
|
72
|
+
<g id="Layer_2">
|
|
73
|
+
<circle class="st2" cx="92.8" cy="127.3" r="7.6"/>
|
|
74
|
+
<path class="st7" d="M100.8,127.3c0,4.4-3.6,8-8,8s-8-3.6-8-8,3.6-8,8-8,8,3.6,8,8ZM86.6,127.1v-1.1c0-.2.2-.9.3-1.1.2-.3.5-.6.8-.8l-.6-.6c.7-.6,1.7-.7,2.4-.1.3-.8,1.2-1.3,2.1-1.2v.7c.9,0,2.2.7,2.2,1.9s0,0-.1.1c-.3,0-.6,0-.9-.1s-.2,0-.2,0,.4.7.5,1,.2.6.1.9c-1-.1-1.9-.6-2.6-1.2,0,.5.7,3.8.9,3.9s.1-.1.2-.2.2-1.1.2-1.2c0-.2-.3-.3-.4-.5-.2-.5.2-.8.7-.6s.9,1.1,1.3,1.3,2.3.2,2.6.6-.5.8-.3,1.3c1.2-.5,2.4-.6,3.6-.4.5-1.7.5-3.6-.2-5.3-1.3,0-2.6-.6-3-1.9-.4-1.3-.1-1.5-.2-1.6-.1-.2-1.1.1-1.3-.3s0-.2,0-.2-.3-.1-.5-.1c-4.6-1.1-9.1,2.8-8.8,7.4,0,.3.3,1.8.4,2s.8,0,1.1,0,.7,0,.9,0c.5,0,1.3.4,1.7.4s.4-.1.5-.4c0-.5,0-1.3,0-1.8s-.2-1.4-.2-2.1c-.2,0-.1,0-.2,0-.1.2-.2.6-.3.8s-.9,1.5-1,1.6-.1,0-.1-.1c-.3-.6-.4-1.4-.3-2.1-.2-.2-1,.9-1.2.9h-.1c0-.1,0-.1,0-.1h0ZM98.9,123.7c.2-.2-1.1-1.6-1.3-1.8-.5-.5-1-.8-.6.2s1,1.4,1.9,1.5h0ZM91,122.6c0,0-1.1.5-1,.8.3-.2,1-.3,1-.8ZM89.2,123.7c0-.4-1.1-.5-1.3-.2s.3.2.3.2c.3,0,.6-.1.9,0h0ZM91.1,123.8c.7.2,1.2.6,1.9.7s0-.5-.2-.7c-.4-.3-.9-.4-1.4-.4s-.3,0-.2,0c.5.1,1.3.1,1.5.7-.4,0-.7-.3-1.1-.4s-.4,0-.5,0h0ZM92.7,126.1c-.1-.9-1-1.9-1.9-2.1s-.2,0-.1,0,.8.6,1,.7.8.7.4.7-1.5-1.4-1.7-1.2c0,.2.2.3.3.5.5.7,1.2,1.2,2.1,1.3h0ZM88.3,124.3c-.9.2-1.2,1.1-1.2,1.9.1.1.9-.7,1-.8s.5-.8.2-.7-.5.8-.7.8,0-.4,0-.4c.2-.3.5-.5.7-.8h0ZM89.2,124.6c0,0-.4.2-.4.3-.5.7-.5,1.8-.3,2.6.1,0,.1,0,.2-.1.5-.7,1-1.9.8-2.7-.4.5-.5,1.3-.6,1.9h-.2c0-.7.3-1.4.5-2h0ZM93.8,128.9c0-.3-.3-.2-.4-.3s-.2-.3-.5-.2c.2.4.5.6,1,.6h0ZM92.1,129.4c1.3.1,1-.3.2-1-.2,0-.3.8-.2,1ZM95.6,129.6c-.6,0-1.4-.4-2-.4s-.2,0-.3.1c.7.2,1.5.3,2.1.7l.2-.4h0ZM92.7,130.1c-1.3,0-2.7.7-3.6,1.6s-.8.9-.8,1.1c0,.3,1.5,1.1,1.9,1.2,2.1.8,4.9.6,6.8-.7s.5-.5,0-1.1c-1-1.2-2.6-2-4.1-2h0ZM88.9,130.8c-.2-.2-.9-.3-1.2-.4s-.9,0-1.2.1l2.5.2h0ZM99.2,130.5h-1.3c-.2,0-.9.2-1.1.3s-.1.1,0,0c.4,0,.9-.2,1.3-.2s.6,0,.9,0,.2,0,.1-.1h0Z"/>
|
|
75
|
+
<path class="st2" d="M86.6,127.1h.1c.2,0,1-1,1.2-.9,0,.7,0,1.5.3,2.1s0,.2.1.1.9-1.4,1-1.6.2-.6.3-.8,0-.1.2,0c0,.7.2,1.4.2,2.1s0,1.3,0,1.8-.2.4-.5.4-1.2-.4-1.7-.4-.7,0-.9,0-1,.2-1.1,0-.4-1.7-.4-2c-.3-4.7,4.2-8.6,8.8-7.4,4.6,1.1.4,0,.5.1s0,.2,0,.2c.2.4,1.2,0,1.3.3s0,1.2.2,1.6c.4,1.3,1.8,1.9,3,1.9.7,1.7.7,3.6.2,5.3-1.3-.1-2.5,0-3.6.4-.2-.5.7-.9.3-1.3s-2.1-.3-2.6-.6-1-1.1-1.3-1.3-.9.1-.7.6.4.3.4.5-.2,1.1-.2,1.2,0,.2-.2.2c-.2,0-.9-3.4-.9-3.9.8.6,1.6,1,2.6,1.2,0-.3,0-.6-.1-.9s-.5-.9-.5-1c0-.1.2,0,.2,0,.3,0,.6.1.9.1s.1,0,.1-.1c0-1.2-1.3-1.9-2.3-1.9v-.7c-.8,0-1.6.4-1.9,1.2-.8-.5-1.7-.5-2.4.1l.6.6c-.3.2-.6.5-.8.8s-.3.9-.3,1.1v1.2h0,0ZM94.7,121.7c1.4.4,1.5-.6,0-.2v.2ZM94.8,122.7c0,.1,1.1,0,1-.4s-.8.1-1,.1v.3s0,0,0,0h0ZM95.2,123.6c.1.2,1-.3,1-.5,0-.3-1.2.2-1,.5ZM96.7,123.7c-.2-.2-.9.5-.8.7.1.4,1-.5.8-.7ZM97.1,124.3c0,0-.5.8-.3.9s.6-.6.6-.7-.2-.2-.4-.2h0ZM97.7,125.6c.4.1.7-.9.4-1-.3-.1-.5.9-.4,1ZM99.2,125.8c0-.3.2-.8-.2-1-.2,0-.1.7-.1.8h0c0,0,.2.1.2.1h0Z"/>
|
|
76
|
+
<path class="st2" d="M98.9,123.7c-.9-.1-1.6-.6-1.9-1.5s0-.7.6-.2,1.5,1.5,1.3,1.8h0Z"/>
|
|
77
|
+
<path class="st2" d="M92.7,126.1c-.9-.1-1.6-.6-2.1-1.3s-.3-.3-.3-.5c.2-.2,1.5,1.2,1.7,1.2.4,0-.3-.6-.4-.7-.2-.1-1-.6-1-.7,0-.1,0,0,.1,0,.9.1,1.8,1.2,1.9,2.1h0Z"/>
|
|
78
|
+
<path class="st2" d="M89.2,124.6c-.2.7-.5,1.3-.5,2h.2c0-.7.3-1.4.6-1.9.2.8-.3,2.1-.8,2.7s0,.1-.2.1c-.2-.8-.2-1.9.3-2.6s.3-.4.4-.3h0Z"/>
|
|
79
|
+
<path class="st2" d="M91.1,123.8c0-.1.4,0,.5,0,.4,0,.7.3,1.1.4-.2-.5-1-.6-1.5-.7,0-.1.2,0,.2,0,.5,0,1,.1,1.4.4.4.3.7.7.2.7-.8,0-1.3-.4-1.9-.7h0Z"/>
|
|
80
|
+
<path class="st2" d="M88.3,124.3c-.2.3-.5.5-.7.8s-.3.5,0,.4.5-.7.7-.8-.2.6-.2.7c0,.1-.8.9-1,.8,0-.8.3-1.8,1.2-1.9h0Z"/>
|
|
81
|
+
<path class="st2" d="M95.6,129.6l-.2.4c-.6-.4-1.4-.5-2.1-.7,0-.1.2-.1.3-.1.6,0,1.4.3,2,.4h0Z"/>
|
|
82
|
+
<path class="st2" d="M92.1,129.4c0-.2,0-1,.2-1,.7.6,1.1,1.1-.2,1Z"/>
|
|
83
|
+
<path class="st2" d="M89.2,123.7c-.3,0-.6.1-.9,0s-.4-.1-.3-.2c.1-.3,1.2-.2,1.3.2h0Z"/>
|
|
84
|
+
<path class="st2" d="M91,122.6c0,.5-.6.6-1,.8-.1-.3.9-.9,1-.8Z"/>
|
|
85
|
+
<path class="st2" d="M93.8,128.9c-.4,0-.7-.2-1-.6.3,0,.4.1.5.2s.5,0,.4.3h0Z"/>
|
|
86
|
+
<path class="st7" d="M94.8,122.7v-.3c.2,0,.9-.4,1-.1s-1,.5-1,.4h0Z"/>
|
|
87
|
+
<path class="st7" d="M94.7,121.7v-.2c1.5-.4,1.4.6,0,.2Z"/>
|
|
88
|
+
<path class="st7" d="M95.2,123.6c-.2-.3.9-.8,1-.5s-.8.7-1,.5Z"/>
|
|
89
|
+
<path class="st7" d="M96.7,123.7c.2.2-.7,1.1-.8.7s.7-.9.8-.7Z"/>
|
|
90
|
+
<path class="st7" d="M97.1,124.3c.1,0,.4,0,.4.2s-.4.8-.6.7.2-.8.3-.9h0Z"/>
|
|
91
|
+
<path class="st7" d="M97.7,125.6c0,0,0-1.1.4-1,.2,0,0,1.1-.4,1Z"/>
|
|
92
|
+
<path class="st7" d="M99.2,125.8h-.2s0-.1,0-.1c0-.2,0-.8.1-.8.4.1.3.7.2,1h0Z"/>
|
|
93
|
+
<path class="st2" d="M92.7,130.1c1.6,0,3.2.8,4.1,2,1,1.2.7.6,0,1.1-1.9,1.4-4.6,1.6-6.8.7-.3-.1-1.9-.9-1.9-1.2s.7-.9.8-1.1c.9-.9,2.3-1.5,3.6-1.6h0Z"/>
|
|
94
|
+
<path class="st2" d="M88.9,130.8l-2.5-.2c.3-.2.9-.1,1.2-.1s1,.1,1.2.4h0Z"/>
|
|
95
|
+
<path class="st2" d="M99.2,130.5c.1,0,0,.1-.1.1-.3,0-.6,0-.9,0-.4,0-.9.2-1.3.2s-.2,0,0,0,.9-.3,1.1-.3h1.3,0Z"/>
|
|
96
|
+
<circle class="st2" cx="47.9" cy="57.2" r="5.2"/>
|
|
97
|
+
<path class="st7" d="M53.4,57.2c0,3-2.4,5.5-5.5,5.5s-5.5-2.4-5.5-5.5,2.4-5.5,5.5-5.5,5.5,2.4,5.5,5.5ZM43.7,57v-.8c0-.1.1-.6.2-.8.1-.2.4-.4.6-.6l-.4-.4c.5-.4,1.1-.4,1.7,0,.2-.6.8-.9,1.4-.8v.5c.6,0,1.5.5,1.5,1.3s0,0,0,0c-.2,0-.4,0-.6,0s-.1,0-.1,0,.3.5.4.7.1.4,0,.6c-.7,0-1.3-.4-1.8-.8,0,.3.5,2.6.6,2.7s0,0,.1-.1.2-.8.2-.8c0-.1-.2-.2-.3-.3-.1-.3.2-.6.4-.4s.6.8.9.9,1.6.2,1.8.4-.4.6-.2.9c.8-.3,1.6-.4,2.5-.3.4-1.2.4-2.5-.1-3.6-.9,0-1.8-.4-2.1-1.3-.3-.9,0-1-.2-1.1,0-.1-.8,0-.9-.2s0-.1,0-.2-.2,0-.3,0c-3.1-.8-6.2,1.9-6,5.1,0,.2.2,1.2.3,1.3s.6,0,.8,0,.4,0,.6,0c.4,0,.9.3,1.1.3s.3,0,.3-.3c0-.3,0-.9,0-1.2s-.1-.9-.2-1.4c-.1,0,0,0-.1,0,0,.2-.1.4-.2.6s-.6,1.1-.7,1.1,0,0,0,0c-.2-.4-.2-1-.2-1.4-.1-.1-.7.6-.8.6h0c0,0,0,0,0,0h0ZM52.2,54.7c.1-.1-.7-1.1-.9-1.2-.4-.3-.7-.5-.4.2s.7.9,1.3,1h0ZM46.7,54c0,0-.7.4-.7.6.2-.2.7-.2.7-.6ZM45.5,54.7c0-.3-.8-.3-.9-.1s.2.2.2.2c.2,0,.4,0,.6,0h0ZM46.8,54.8c.5.2.8.4,1.3.4s0-.4-.1-.5c-.3-.2-.6-.3-.9-.3s-.2,0-.2,0c.3,0,.9,0,1,.5-.3,0-.5-.2-.8-.2s-.3,0-.3,0h0ZM47.9,56.4c0-.6-.7-1.3-1.3-1.4s-.2,0,0,0,.6.4.7.5.5.5.3.5-1-.9-1.1-.8c0,.1.1.2.2.3.4.5.8.8,1.4.9h0ZM44.8,55.1c-.6.1-.8.8-.8,1.3,0,0,.6-.5.7-.5s.3-.6.1-.5-.4.5-.5.6,0-.3,0-.3c.1-.2.4-.4.5-.6h0ZM45.5,55.3c0,0-.2.2-.3.2-.4.5-.3,1.2-.2,1.8,0,0,0,0,.1,0,.4-.5.7-1.3.5-1.9-.3.4-.4.9-.4,1.3h-.2c0-.5.2-.9.4-1.4h0ZM48.7,58.3c0-.2-.2-.2-.3-.2s-.2-.2-.4-.2c.2.3.4.4.7.4h0ZM47.5,58.6c.9,0,.7-.2.2-.7-.2,0-.2.5-.2.7ZM49.9,58.8c-.4,0-.9-.2-1.4-.3s-.2,0-.2,0c.5.2,1,.2,1.5.5v-.3h.1ZM47.9,59.1c-.9,0-1.8.4-2.5,1.1s-.6.6-.6.8c0,.2,1,.8,1.3.8,1.5.6,3.3.4,4.6-.5s.4-.3,0-.8c-.7-.8-1.8-1.4-2.8-1.4h0ZM45.3,59.6c-.2-.2-.6-.2-.8-.3s-.6,0-.8,0l1.7.2h0ZM52.3,59.4h-.9c-.1,0-.6.1-.7.2s0,0,0,0c.3,0,.6-.1.9-.2s.4,0,.6,0,.2,0,0,0h0Z"/>
|
|
98
|
+
<path class="st2" d="M43.7,57h0c.2,0,.7-.7.8-.6,0,.5,0,1,.2,1.4s0,.1,0,0,.6-.9.7-1.1.2-.4.2-.6,0,0,.1,0c0,.5.1.9.2,1.4s0,.9,0,1.2-.1.3-.3.3-.8-.3-1.1-.3-.4,0-.6,0-.7.1-.8,0-.3-1.2-.3-1.3c-.2-3.2,2.9-5.9,6-5.1s.3,0,.3,0,0,.1,0,.2c.1.2.8,0,.9.2s0,.8.2,1.1c.3.9,1.2,1.3,2.1,1.3.5,1.1.5,2.4.1,3.6-.9,0-1.7,0-2.5.3-.2-.4.5-.6.2-.9s-1.4-.2-1.8-.4-.7-.7-.9-.9-.6,0-.4.4.3.2.3.3-.1.8-.2.8,0,.2-.1.1c-.1,0-.6-2.3-.6-2.7.5.4,1.1.7,1.8.8,0-.2,0-.4,0-.6s-.4-.6-.4-.7c0,0,.1,0,.1,0,.2,0,.4,0,.6,0s0,0,0,0c0-.8-.9-1.3-1.6-1.3v-.5c-.5,0-1.1.2-1.3.8-.5-.4-1.2-.4-1.7,0l.4.4c-.2.2-.4.3-.6.6s-.2.6-.2.8v.8h0,0ZM49.2,53.3c.9.3,1.1-.4,0-.2v.2ZM49.3,54.1c0,0,.8,0,.7-.3s-.6,0-.7,0v.2s0,0,0,0h0ZM49.6,54.7c0,.1.7-.2.7-.3,0-.2-.8.1-.7.3ZM50.6,54.7c-.1-.1-.6.3-.6.5,0,.3.7-.4.6-.5ZM50.9,55.1s-.4.6-.2.6.4-.4.4-.5-.2-.2-.2-.1h0ZM51.3,56.1c.3,0,.5-.6.3-.7-.2,0-.3.6-.3.7ZM52.4,56.2c0-.2.1-.6-.1-.7-.1,0,0,.5,0,.6h0c0,0,.2,0,.2,0h0Z"/>
|
|
99
|
+
<path class="st2" d="M52.2,54.7c-.6,0-1.1-.4-1.3-1s0-.5.4-.2,1,1.1.9,1.2h0Z"/>
|
|
100
|
+
<path class="st2" d="M47.9,56.4c-.6,0-1.1-.4-1.4-.9s-.2-.2-.2-.3c.1-.1,1,.8,1.1.8.3,0-.2-.4-.3-.5-.1,0-.7-.4-.7-.5,0,0,0,0,0,0,.6,0,1.2.8,1.3,1.4h0Z"/>
|
|
101
|
+
<path class="st2" d="M45.5,55.3c-.1.4-.4.9-.4,1.4h.2c0-.4.2-.9.4-1.3.1.6-.2,1.4-.5,1.9s0,0-.1,0c-.1-.5-.2-1.3.2-1.8s.2-.3.3-.2h0Z"/>
|
|
102
|
+
<path class="st2" d="M46.8,54.8c0,0,.3,0,.3,0,.3,0,.5.2.8.2-.1-.4-.7-.4-1-.5,0,0,.1,0,.2,0,.3,0,.7,0,.9.3.3.2.5.5.1.5-.5,0-.9-.3-1.3-.4h0Z"/>
|
|
103
|
+
<path class="st2" d="M44.8,55.1c-.1.2-.4.4-.5.6s-.2.3,0,.3.3-.5.5-.6-.1.4-.1.5c0,0-.6.6-.7.5,0-.6.2-1.2.8-1.3h0Z"/>
|
|
104
|
+
<path class="st2" d="M49.9,58.8v.3c-.6-.3-1.1-.3-1.6-.5,0,0,.1,0,.2,0,.4,0,.9.2,1.4.3h0Z"/>
|
|
105
|
+
<path class="st2" d="M47.5,58.6c0-.1,0-.7.2-.7.5.4.7.8-.2.7Z"/>
|
|
106
|
+
<path class="st2" d="M45.5,54.7c-.2,0-.4,0-.6,0s-.3,0-.2-.2c0-.2.8-.2.9.1h0Z"/>
|
|
107
|
+
<path class="st2" d="M46.7,54c0,.4-.4.4-.7.6,0-.2.6-.6.7-.6Z"/>
|
|
108
|
+
<path class="st2" d="M48.7,58.3c-.3,0-.5-.2-.7-.4.2,0,.2,0,.4.2s.3,0,.3.2h0Z"/>
|
|
109
|
+
<path class="st7" d="M49.3,54.1v-.2c.2,0,.6-.3.7,0s-.7.4-.7.3h0Z"/>
|
|
110
|
+
<path class="st7" d="M49.2,53.3v-.2c1-.3,1,.4,0,.2Z"/>
|
|
111
|
+
<path class="st7" d="M49.6,54.7c-.1-.2.6-.6.7-.3s-.6.5-.7.3Z"/>
|
|
112
|
+
<path class="st7" d="M50.6,54.7c.1.1-.5.8-.6.5s.4-.6.6-.5Z"/>
|
|
113
|
+
<path class="st7" d="M50.9,55.1c0,0,.3,0,.2.1s-.3.5-.4.5.2-.6.2-.6h0Z"/>
|
|
114
|
+
<path class="st7" d="M51.3,56.1s0-.7.3-.7c.2,0,0,.8-.3.7Z"/>
|
|
115
|
+
<path class="st7" d="M52.4,56.2h-.2s0,0,0,0c0-.1,0-.6,0-.6.3,0,.2.5.1.7h0Z"/>
|
|
116
|
+
<path class="st2" d="M47.9,59.1c1.1,0,2.2.6,2.8,1.4.7.8.5.4,0,.8-1.3.9-3.2,1.1-4.6.5-.2,0-1.3-.6-1.3-.8s.5-.6.6-.8c.6-.6,1.6-1,2.5-1.1h0Z"/>
|
|
117
|
+
<path class="st2" d="M45.3,59.6l-1.7-.2c.2-.1.6,0,.8,0s.7,0,.8.3h0Z"/>
|
|
118
|
+
<path class="st2" d="M52.3,59.4c0,0,0,0,0,0-.2,0-.4,0-.6,0-.3,0-.6.1-.9.2s-.1,0,0,0,.6-.2.7-.2h.9,0Z"/>
|
|
119
|
+
</g>
|
|
120
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
|
|
3
|
+
body {
|
|
4
|
+
@apply m-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,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": false,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": false
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"ignoreUnknown": false,
|
|
10
|
+
"ignore": ["src/routeTree.gen.ts"],
|
|
11
|
+
"include": ["src/*", ".vscode/*", "index.html", "vite.config.js"]
|
|
12
|
+
},
|
|
13
|
+
"formatter": {
|
|
14
|
+
"enabled": true,
|
|
15
|
+
"indentStyle": "tab"
|
|
16
|
+
},
|
|
17
|
+
"organizeImports": {
|
|
18
|
+
"enabled": true
|
|
19
|
+
},
|
|
20
|
+
"linter": {
|
|
21
|
+
"enabled": true,
|
|
22
|
+
"rules": {
|
|
23
|
+
"recommended": true
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"javascript": {
|
|
27
|
+
"formatter": {
|
|
28
|
+
"quoteStyle": "double"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
<% if (toolchain && toolchain === 'eslint+prettier') { %>"include": ["**/*.ts", "**/*.tsx", "eslint.config.js", "prettier.config.js", "vite.config.js"],
|
|
3
|
+
<% } else { %>"include": ["**/*.ts", "**/*.tsx"],<% } %>
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"target": "ES2022",
|
|
6
|
+
"jsx": "preserve",
|
|
7
|
+
"jsxImportSource": "solid-js",
|
|
8
|
+
"module": "ESNext",
|
|
9
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
10
|
+
"types": ["vite/client"],
|
|
11
|
+
|
|
12
|
+
/* Bundler mode */
|
|
13
|
+
"moduleResolution": "bundler",
|
|
14
|
+
"allowImportingTsExtensions": true,
|
|
15
|
+
"verbatimModuleSyntax": true,
|
|
16
|
+
"noEmit": true,
|
|
17
|
+
|
|
18
|
+
/* Linting */
|
|
19
|
+
"skipLibCheck": true,
|
|
20
|
+
"strict": true,
|
|
21
|
+
"noUnusedLocals": true,
|
|
22
|
+
"noUnusedParameters": true,
|
|
23
|
+
"noFallthroughCasesInSwitch": true,
|
|
24
|
+
"noUncheckedSideEffectImports": true<% if (addOnEnabled['solid-ui']) { %>,
|
|
25
|
+
"baseUrl": ".",
|
|
26
|
+
"paths": {
|
|
27
|
+
"~/*": ["./src/*"]
|
|
28
|
+
}
|
|
29
|
+
<% } %>
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
<%if (fileRouter) { %>import { TanStackRouterVite } from '@tanstack/router-plugin/vite'<% } %>
|
|
3
|
+
import solidPlugin from 'vite-plugin-solid'
|
|
4
|
+
import tailwindcss from '@tailwindcss/vite'<% if (addOnEnabled['solid-ui']) { %>
|
|
5
|
+
import { resolve } from 'node:path'<% } %><% if (addOnEnabled['module-federation']) { %>
|
|
6
|
+
import {federation} from "@module-federation/vite";<% } %><% if (addOnEnabled['module-federation']) { %>
|
|
7
|
+
import federationConfig from "./module-federation.config.js";
|
|
8
|
+
<% } %>
|
|
9
|
+
|
|
10
|
+
// https://vitejs.dev/config/
|
|
11
|
+
export default defineConfig({
|
|
12
|
+
plugins: [<% if (addOnEnabled['module-federation']) { %>federation(federationConfig), <% } %><%if (fileRouter) { %>
|
|
13
|
+
TanStackRouterVite({ target: 'solid', autoCodeSplitting: true }),<% } %>
|
|
14
|
+
solidPlugin(),
|
|
15
|
+
tailwindcss(),
|
|
16
|
+
],<% if (addOnEnabled['solid-ui']) { %>
|
|
17
|
+
resolve: {
|
|
18
|
+
alias: {
|
|
19
|
+
'~': resolve(__dirname, './src'),
|
|
20
|
+
},
|
|
21
|
+
},<% } %>
|
|
22
|
+
})
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Outlet,
|
|
3
|
+
RouterProvider,
|
|
4
|
+
createRootRoute,
|
|
5
|
+
createRoute,
|
|
6
|
+
createRouter,
|
|
7
|
+
} from "@tanstack/solid-router";
|
|
8
|
+
import { TanStackRouterDevtools } from "@tanstack/solid-router-devtools";
|
|
9
|
+
import { render } from 'solid-js/web'
|
|
10
|
+
<% for(const route of routes) { %>import <%= route.name %> from "<%= route.path %>";
|
|
11
|
+
<% } %><% if (routes.length > 0) { %>
|
|
12
|
+
import Header from "./components/Header";
|
|
13
|
+
<% } %><% for(const integration of integrations.filter(i => i.type === 'layout' || i.type === 'provider')) { %>
|
|
14
|
+
import <%= integration.name %> from "./<%= integration.path %>";
|
|
15
|
+
<% } %>
|
|
16
|
+
|
|
17
|
+
import "./styles.css";
|
|
18
|
+
|
|
19
|
+
import App from "./App.<%= jsx %>";
|
|
20
|
+
|
|
21
|
+
const rootRoute = createRootRoute({
|
|
22
|
+
component: () => (
|
|
23
|
+
<>
|
|
24
|
+
<% for(const integration of integrations.filter(i => i.type === 'provider')) { %>
|
|
25
|
+
<<%= integration.name %>>
|
|
26
|
+
<% } %>
|
|
27
|
+
<% if (routes.length > 0) { %><Header /><% } %>
|
|
28
|
+
<Outlet />
|
|
29
|
+
<TanStackRouterDevtools />
|
|
30
|
+
<% for(const integration of integrations.filter(i => i.type === 'layout')) { %>
|
|
31
|
+
<<%= integration.name %> />
|
|
32
|
+
<% } %>
|
|
33
|
+
<% for(const integration of integrations.filter(i => i.type === 'provider').reverse()) { %>
|
|
34
|
+
</<%= integration.name %>>
|
|
35
|
+
<% } %>
|
|
36
|
+
</>
|
|
37
|
+
),
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const indexRoute = createRoute({
|
|
41
|
+
getParentRoute: () => rootRoute,
|
|
42
|
+
path: "/",
|
|
43
|
+
component: App,
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
const routeTree = rootRoute.addChildren([indexRoute<%= routes.map(route => `, ${route.name}(rootRoute)`).join('') %>]);
|
|
47
|
+
|
|
48
|
+
const router = createRouter({
|
|
49
|
+
routeTree,
|
|
50
|
+
defaultPreload: "intent",
|
|
51
|
+
scrollRestoration: true,
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
declare module '@tanstack/solid-router' {
|
|
55
|
+
interface Register {
|
|
56
|
+
router: typeof router
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function MainApp() {
|
|
61
|
+
return (
|
|
62
|
+
<>
|
|
63
|
+
<RouterProvider router={router} />
|
|
64
|
+
</>
|
|
65
|
+
)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const rootElement = document.getElementById('app')
|
|
69
|
+
if(rootElement) {
|
|
70
|
+
render(() => <MainApp />, rootElement)
|
|
71
|
+
}
|