npx degit solidjs/templates/ts-unocss solid-ts

This commit is contained in:
严浩
2024-08-05 11:08:29 +08:00
commit 81b11953e1
10 changed files with 1867 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules
dist

34
README.md Normal file
View File

@ -0,0 +1,34 @@
## Usage
Those templates dependencies are maintained via [pnpm](https://pnpm.io) via `pnpm up -Lri`.
This is the reason you see a `pnpm-lock.yaml`. That being said, any package manager will work. This file can be safely be removed once you clone a template.
```bash
$ npm install # or pnpm install or yarn install
```
### Learn more on the [Solid Website](https://solidjs.com) and come chat with us on our [Discord](https://discord.com/invite/solidjs)
## Available Scripts
In the project directory, you can run:
### `npm run dev` or `npm start`
Runs the app in the development mode.<br>
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
The page will reload if you make edits.<br>
### `npm run build`
Builds the app for production to the `dist` folder.<br>
It correctly bundles Solid in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.<br>
Your app is ready to be deployed!
## Deployment
You can deploy the `dist` folder to any static host provider (netlify, surge, now, etc.)

15
index.html Normal file
View File

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<title>Solid App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script src="/src/index.tsx" type="module"></script>
</body>
</html>

23
package.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "vite-template-solid",
"version": "0.0.0",
"description": "",
"scripts": {
"start": "vite",
"dev": "vite",
"build": "vite build",
"serve": "vite preview"
},
"license": "MIT",
"devDependencies": {
"@unocss/preset-mini": "^0.58.9",
"@unocss/vite": "^0.58.9",
"solid-devtools": "^0.29.3",
"typescript": "^5.5.4",
"vite": "^5.3.5",
"vite-plugin-solid": "^2.10.2"
},
"dependencies": {
"solid-js": "^1.8.19"
}
}

1716
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

19
src/App.tsx Normal file
View File

@ -0,0 +1,19 @@
import type { Component } from 'solid-js';
const App: Component = () => {
return (
<p class="text-4xl text-green-700 text-center py-20">
Hello{' '}
<a
class="text-pink-600 hover:font-bold hover:border-1"
href="https://antfu.me/posts/reimagine-atomic-css"
target="atomic-css"
>
Atomic CSS
</a>
!
</p>
);
};
export default App;

14
src/index.tsx Normal file
View File

@ -0,0 +1,14 @@
import 'uno.css';
import { render } from 'solid-js/web';
import App from './App';
const root = document.getElementById('root');
if (import.meta.env.DEV && !(root instanceof HTMLElement)) {
throw new Error(
'Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?',
);
}
render(() => <App />, root!);

14
tsconfig.json Normal file
View File

@ -0,0 +1,14 @@
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"jsx": "preserve",
"jsxImportSource": "solid-js",
"types": ["vite/client"],
"noEmit": true,
"isolatedModules": true,
},
}

6
unocss.config.ts Normal file
View File

@ -0,0 +1,6 @@
import { defineConfig } from '@unocss/vite';
import { presetMini } from '@unocss/preset-mini';
export default defineConfig({
presets: [presetMini()],
});

24
vite.config.ts Normal file
View File

@ -0,0 +1,24 @@
import { defineConfig } from 'vite';
import solidPlugin from 'vite-plugin-solid';
// import devtools from 'solid-devtools/vite';
import UnocssPlugin from '@unocss/vite';
export default defineConfig({
plugins: [
/*
Uncomment the following line to enable solid-devtools.
For more info see https://github.com/thetarnav/solid-devtools/tree/main/packages/extension#readme
*/
// devtools(),
solidPlugin(),
UnocssPlugin({
// your config or in uno.config.ts
}),
],
server: {
port: 3000,
},
build: {
target: 'esnext',
},
});