Compare commits

...

20 Commits

Author SHA1 Message Date
sweep-ai[bot] 21a6861f9d Merge main into sweep/svelte-frontend-option 2023-11-24 03:49:01 +00:00
sweep-ai[bot] a2ec3403e6 Merge main into sweep/svelte-frontend-option 2023-11-23 18:57:02 +00:00
sweep-ai[bot] 351d4968e5 Merge main into sweep/svelte-frontend-option 2023-11-23 18:50:22 +00:00
sweep-ai[bot] 6e3c73fffc Merge main into sweep/svelte-frontend-option 2023-11-22 06:33:42 +00:00
sweep-ai[bot] f0ceb2686f Merge main into sweep/svelte-frontend-option 2023-11-22 05:46:15 +00:00
sweep-ai[bot] 15339edb0d Merge main into sweep/svelte-frontend-option 2023-11-22 05:35:19 +00:00
sweep-ai[bot] e5f8879550 Merge main into sweep/svelte-frontend-option 2023-11-22 05:30:30 +00:00
sweep-ai[bot] 6fe241c741 Merge main into sweep/svelte-frontend-option 2023-11-22 05:20:45 +00:00
sweep-ai[bot] d1a94b3c3c Merge main into sweep/svelte-frontend-option 2023-11-22 05:20:02 +00:00
sweep-ai[bot] b40d11ecf1 Merge main into sweep/svelte-frontend-option 2023-11-22 05:04:08 +00:00
sweep-ai[bot] 873ae21f2a Merge main into sweep/svelte-frontend-option 2023-11-22 05:01:42 +00:00
sweep-ai[bot] a5b7aa1db9 Merge main into sweep/svelte-frontend-option 2023-11-21 02:25:38 +00:00
sweep-ai[bot] 103dc2e765 Merge main into sweep/svelte-frontend-option 2023-11-21 02:09:16 +00:00
sweep-ai[bot] 6ed040e259 Merge main into sweep/svelte-frontend-option 2023-11-20 02:30:51 +00:00
sweep-ai[bot] d302eb745d Merge main into sweep/svelte-frontend-option 2023-11-20 01:30:55 +00:00
sweep-ai[bot] bbc864b97b Merge main into sweep/svelte-frontend-option 2023-11-20 01:14:50 +00:00
sweep-ai[bot] e8153dc3ed Merge main into sweep/svelte-frontend-option 2023-11-20 00:21:26 +00:00
sweep-ai[bot] aff5481fd1 feat: Updated packages/create-llama/create-app.ts 2023-11-19 05:36:55 +00:00
sweep-ai[bot] d5be895de8 feat: Updated packages/create-llama/index.ts 2023-11-19 05:36:10 +00:00
sweep-ai[bot] a7437d6d6f feat: add svelte frontend option 2023-11-19 05:35:28 +00:00
3 changed files with 138 additions and 8 deletions
+19 -7
View File
@@ -22,12 +22,14 @@ export async function createApp({
eslint,
frontend,
openAIKey,
svelte,
}: Omit<
InstallTemplateArgs,
"appName" | "root" | "isOnline" | "customApiPath"
> & {
appPath: string;
frontend: boolean;
svelte: boolean;
}): Promise<void> {
const root = path.resolve(appPath);
@@ -75,13 +77,23 @@ export async function createApp({
// install frontend
const frontendRoot = path.join(root, "frontend");
await makeDir(frontendRoot);
await installTemplate({
...args,
root: frontendRoot,
framework: "nextjs",
customApiPath: "http://localhost:8000/api/chat",
backend: false,
});
if (svelte) {
await installTemplate({
...args,
root: frontendRoot,
framework: "svelte",
customApiPath: "http://localhost:8000/api/chat",
backend: false,
});
} else {
await installTemplate({
...args,
root: frontendRoot,
framework: "nextjs",
customApiPath: "http://localhost:8000/api/chat",
backend: false,
});
}
// copy readme for fullstack
await fs.promises.copyFile(
path.join(__dirname, "templates", "README-fullstack.md"),
+3 -1
View File
@@ -214,6 +214,7 @@ async function run(): Promise<void> {
{ title: "NextJS", value: "nextjs" },
{ title: "Express", value: "express" },
{ title: "FastAPI (Python)", value: "fastapi" },
{ title: "Svelte", value: "svelte" },
],
initial: 0,
},
@@ -253,7 +254,7 @@ async function run(): Promise<void> {
}
}
if (program.framework === "nextjs" || program.frontend) {
if (program.framework === "nextjs" || program.framework === "svelte" || program.frontend) {
if (!program.ui) {
if (ciInfo.isCI) {
program.ui = getPrefOrDefault("ui");
@@ -350,6 +351,7 @@ async function run(): Promise<void> {
eslint: program.eslint,
frontend: program.frontend,
openAIKey: program.openAIKey,
svelte: program.framework === "svelte",
});
conf.set("preferences", preferences);
}
+116
View File
@@ -0,0 +1,116 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Svelte app</title>
<link rel="icon" type="image/png" href="/favicon.png">
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/build/bundle.css">
</head>
<body>
<main id="app"></main>
<script src="/build/bundle.js"></script>
</body>
</html>
```
file_path: "packages/create-llama/templates/svelte/main.js"
```javascript
import App from './App.svelte';
const app = new App({
target: document.getElementById('app'),
});
export default app;
```
file_path: "packages/create-llama/templates/svelte/App.svelte"
```svelte
<script>
let name = 'world';
</script>
<main>
<h1>Hello {name}!</h1>
<p>Welcome to your new Svelte app.</p>
</main>
<style>
main {
text-align: center;
padding: 1em;
max-width: 240px;
margin: 0 auto;
}
h1 {
color: #ff3e00;
text-transform: uppercase;
font-size: 2em;
}
p {
color: #333;
}
</style>
```
file_path: "packages/create-llama/templates/svelte/package.json"
```json
{
"name": "svelte-app",
"version": "1.0.0",
"scripts": {
"dev": "rollup -c -w",
"build": "rollup -c",
"start": "sirv public"
},
"devDependencies": {
"rollup": "^2.3.4",
"rollup-plugin-svelte": "^7.0.0",
"rollup-plugin-terser": "^7.0.0",
"svelte": "^3.0.0",
"sirv-cli": "^1.0.0"
}
}
```
file_path: "packages/create-llama/templates/svelte/rollup.config.js"
```javascript
import svelte from 'rollup-plugin-svelte';
import resolve from '@rollup/plugin-node-resolve';
import { terser } from 'rollup-plugin-terser';
export default {
input: 'main.js',
output: {
sourcemap: true,
format: 'iife',
name: 'app',
file: 'public/build/bundle.js'
},
plugins: [
svelte({
dev: true,
css: css => {
css.write('public/build/bundle.css');
}
}),
resolve({
browser: true,
dedupe: ['svelte']
}),
terser()
],
watch: {
clearScreen: false
}
};
```
file_path: "packages/create-llama/templates/svelte/.gitignore"
```
node_modules/
public/build/