sv 1.0.1 → 1.1.0
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/{addons-BvT-iII-.mjs → addons-OcP_HeQ_.mjs} +407 -326
- package/dist/bin.mjs +88 -66
- package/dist/{engine-D2x5kvrf.d.mts → engine-BLZdMrao.d.mts} +44 -26
- package/dist/{engine-LhRAh1ZA.mjs → engine-DB9amJxd.mjs} +18 -20
- package/dist/src/index.d.mts +79 -2
- package/dist/src/index.mjs +2 -2
- package/dist/src/testing.d.mts +1 -1
- package/dist/src/testing.mjs +1 -1
- package/dist/templates/addon/package.json +3 -3
- package/dist/templates/demo/files.types=checkjs.json +2 -2
- package/dist/templates/demo/files.types=none.json +2 -2
- package/dist/templates/demo/files.types=typescript.json +3 -3
- package/dist/templates/demo/package.json +1 -1
- package/dist/templates/library/package.json +1 -1
- package/dist/templates/minimal/files.types=checkjs.json +1 -1
- package/dist/templates/minimal/files.types=typescript.json +1 -1
- package/dist/templates/minimal/package.json +1 -1
- package/dist/templates/svelte/assets/public/favicon.svg +1 -0
- package/dist/templates/svelte/assets/public/icons.svg +24 -0
- package/dist/templates/svelte/assets/src/assets/hero.png +0 -0
- package/dist/templates/svelte/assets/src/assets/vite.svg +1 -0
- package/dist/templates/svelte/files.types=none.json +7 -7
- package/dist/templates/svelte/files.types=typescript.json +9 -9
- package/package.json +3 -3
- package/dist/templates/svelte/assets/public/vite.svg +0 -1
|
@@ -5,23 +5,23 @@
|
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
7
|
"name": "index.html",
|
|
8
|
-
"contents": "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <link rel=\"icon\" type=\"image/svg+xml\" href=\"/
|
|
8
|
+
"contents": "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <link rel=\"icon\" type=\"image/svg+xml\" href=\"/favicon.svg\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Vite + Svelte + TS</title>\n </head>\n <body>\n <div id=\"app\"></div>\n <script type=\"module\" src=\"/src/main.ts\"></script>\n </body>\n</html>\n"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"name": "package.json",
|
|
12
|
-
"contents": "{\n \"name\": \"vite-svelte-ts-starter\",\n \"private\": true,\n \"version\": \"0.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"vite\",\n \"build\": \"vite build\",\n \"preview\": \"vite preview\",\n \"check\": \"svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json\"\n },\n \"devDependencies\": {\n \"@sveltejs/vite-plugin-svelte\": \"^
|
|
12
|
+
"contents": "{\n \"name\": \"vite-svelte-ts-starter\",\n \"private\": true,\n \"version\": \"0.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"vite\",\n \"build\": \"vite build\",\n \"preview\": \"vite preview\",\n \"check\": \"svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json\"\n },\n \"devDependencies\": {\n \"@sveltejs/vite-plugin-svelte\": \"^7.3.0\",\n \"@tsconfig/svelte\": \"^5.0.8\",\n \"@types/node\": \"^24.13.3\",\n \"svelte\": \"^5.57.0\",\n \"svelte-check\": \"^4.7.6\",\n \"typescript\": \"~6.0.2\",\n \"vite\": \"^8.3.0\"\n }\n}\n"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"name": "src/App.svelte",
|
|
16
|
-
"contents": "<script
|
|
16
|
+
"contents": "<script>\n import svelteLogo from './assets/svelte.svg'\n import viteLogo from './assets/vite.svg'\n import heroImg from './assets/hero.png'\n import Counter from './lib/Counter.svelte'\n</script>\n\n<section id=\"center\">\n <div class=\"hero\">\n <img src={heroImg} class=\"base\" width=\"170\" height=\"179\" alt=\"\" />\n <img src={svelteLogo} class=\"framework\" alt=\"Svelte logo\" />\n <img src={viteLogo} class=\"vite\" alt=\"Vite logo\" />\n </div>\n <div>\n <h1>Get started</h1>\n <p>Edit <code>src/App.svelte</code> and save to test <code>HMR</code></p>\n </div>\n <Counter />\n</section>\n\n<div class=\"ticks\"></div>\n\n<section id=\"next-steps\">\n <div id=\"docs\">\n <svg class=\"icon\" role=\"presentation\" aria-hidden=\"true\">\n <use href=\"/icons.svg#documentation-icon\"></use>\n </svg>\n <h2>Documentation</h2>\n <p>Your questions, answered</p>\n <ul>\n <li>\n <a href=\"https://vite.dev/\" target=\"_blank\" rel=\"noreferrer\">\n <img class=\"logo\" src={viteLogo} alt=\"\" />\n Explore Vite\n </a>\n </li>\n <li>\n <a href=\"https://svelte.dev/\" target=\"_blank\" rel=\"noreferrer\">\n <img class=\"button-icon\" src={svelteLogo} alt=\"\" />\n Learn more\n </a>\n </li>\n </ul>\n </div>\n <div id=\"social\">\n <svg class=\"icon\" role=\"presentation\" aria-hidden=\"true\">\n <use href=\"/icons.svg#social-icon\"></use>\n </svg>\n <h2>Connect with us</h2>\n <p>Join the Vite community</p>\n <ul>\n <li>\n <a href=\"https://github.com/vitejs/vite\" target=\"_blank\" rel=\"noreferrer\">\n <svg class=\"button-icon\" role=\"presentation\" aria-hidden=\"true\">\n <use href=\"/icons.svg#github-icon\"></use>\n </svg>\n GitHub\n </a>\n </li>\n <li>\n <a href=\"https://chat.vite.dev/\" target=\"_blank\" rel=\"noreferrer\">\n <svg class=\"button-icon\" role=\"presentation\" aria-hidden=\"true\">\n <use href=\"/icons.svg#discord-icon\"></use>\n </svg>\n Discord\n </a>\n </li>\n <li>\n <a href=\"https://x.com/vite_js\" target=\"_blank\" rel=\"noreferrer\">\n <svg class=\"button-icon\" role=\"presentation\" aria-hidden=\"true\">\n <use href=\"/icons.svg#x-icon\"></use>\n </svg>\n X.com\n </a>\n </li>\n <li>\n <a href=\"https://bsky.app/profile/vite.dev\" target=\"_blank\" rel=\"noreferrer\">\n <svg class=\"button-icon\" role=\"presentation\" aria-hidden=\"true\">\n <use href=\"/icons.svg#bluesky-icon\"></use>\n </svg>\n Bluesky\n </a>\n </li>\n </ul>\n </div>\n</section>\n\n<div class=\"ticks\"></div>\n<section id=\"spacer\"></section>\n"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"name": "src/app.css",
|
|
20
|
-
"contents": ":root {\n
|
|
20
|
+
"contents": ":root {\n --text: #6b6375;\n --text-h: #08060d;\n --bg: #fff;\n --border: #e5e4e7;\n --code-bg: #f4f3ec;\n --accent: #aa3bff;\n --accent-bg: rgba(170, 59, 255, 0.1);\n --accent-border: rgba(170, 59, 255, 0.5);\n --social-bg: rgba(244, 243, 236, 0.5);\n --shadow:\n rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px;\n\n --sans: system-ui, 'Segoe UI', Roboto, sans-serif;\n --heading: system-ui, 'Segoe UI', Roboto, sans-serif;\n --mono: ui-monospace, Consolas, monospace;\n\n font: 18px/145% var(--sans);\n letter-spacing: 0.18px;\n color-scheme: light dark;\n color: var(--text);\n background: var(--bg);\n font-synthesis: none;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n @media (max-width: 1024px) {\n font-size: 16px;\n }\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --text: #9ca3af;\n --text-h: #f3f4f6;\n --bg: #16171d;\n --border: #2e303a;\n --code-bg: #1f2028;\n --accent: #c084fc;\n --accent-bg: rgba(192, 132, 252, 0.15);\n --accent-border: rgba(192, 132, 252, 0.5);\n --social-bg: rgba(47, 48, 58, 0.5);\n --shadow:\n rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px;\n }\n\n #social .button-icon {\n filter: invert(1) brightness(2);\n }\n}\n\nbody {\n margin: 0;\n}\n\nh1,\nh2 {\n font-family: var(--heading);\n font-weight: 500;\n color: var(--text-h);\n}\n\nh1 {\n font-size: 56px;\n letter-spacing: -1.68px;\n margin: 32px 0;\n @media (max-width: 1024px) {\n font-size: 36px;\n margin: 20px 0;\n }\n}\nh2 {\n font-size: 24px;\n line-height: 118%;\n letter-spacing: -0.24px;\n margin: 0 0 8px;\n @media (max-width: 1024px) {\n font-size: 20px;\n }\n}\np {\n margin: 0;\n}\n\ncode,\n.counter {\n font-family: var(--mono);\n display: inline-flex;\n border-radius: 4px;\n color: var(--text-h);\n}\n\ncode {\n font-size: 15px;\n line-height: 135%;\n padding: 4px 8px;\n background: var(--code-bg);\n}\n\n.counter {\n font-size: 16px;\n padding: 5px 10px;\n border-radius: 5px;\n color: var(--accent);\n background: var(--accent-bg);\n border: 2px solid transparent;\n transition: border-color 0.3s;\n margin-bottom: 24px;\n\n &:hover {\n border-color: var(--accent-border);\n }\n &:focus-visible {\n outline: 2px solid var(--accent);\n outline-offset: 2px;\n }\n}\n\n.hero {\n position: relative;\n\n .base,\n .framework,\n .vite {\n inset-inline: 0;\n margin: 0 auto;\n }\n\n .base {\n width: 170px;\n position: relative;\n z-index: 0;\n }\n\n .framework,\n .vite {\n position: absolute;\n }\n\n .framework {\n z-index: 1;\n top: 34px;\n height: 28px;\n transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg)\n scale(1.4);\n }\n\n .vite {\n z-index: 0;\n top: 107px;\n height: 26px;\n width: auto;\n transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg)\n scale(0.8);\n }\n}\n\n#app {\n width: 1126px;\n max-width: 100%;\n margin: 0 auto;\n text-align: center;\n border-inline: 1px solid var(--border);\n min-height: 100svh;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n#center {\n display: flex;\n flex-direction: column;\n gap: 25px;\n place-content: center;\n place-items: center;\n flex-grow: 1;\n\n @media (max-width: 1024px) {\n padding: 32px 20px 24px;\n gap: 18px;\n }\n}\n\n#next-steps {\n display: flex;\n border-top: 1px solid var(--border);\n text-align: left;\n\n & > div {\n flex: 1 1 0;\n padding: 32px;\n @media (max-width: 1024px) {\n padding: 24px 20px;\n }\n }\n\n .icon {\n margin-bottom: 16px;\n width: 22px;\n height: 22px;\n }\n\n @media (max-width: 1024px) {\n flex-direction: column;\n text-align: center;\n }\n}\n\n#docs {\n border-right: 1px solid var(--border);\n\n @media (max-width: 1024px) {\n border-right: none;\n border-bottom: 1px solid var(--border);\n }\n}\n\n#next-steps ul {\n list-style: none;\n padding: 0;\n display: flex;\n gap: 8px;\n margin: 32px 0 0;\n\n .logo {\n height: 18px;\n }\n\n a {\n color: var(--text-h);\n font-size: 16px;\n border-radius: 6px;\n background: var(--social-bg);\n display: flex;\n padding: 6px 12px;\n align-items: center;\n gap: 8px;\n text-decoration: none;\n transition: box-shadow 0.3s;\n\n &:hover {\n box-shadow: var(--shadow);\n }\n .button-icon {\n height: 18px;\n width: 18px;\n }\n }\n\n @media (max-width: 1024px) {\n margin-top: 20px;\n flex-wrap: wrap;\n justify-content: center;\n\n li {\n flex: 1 1 calc(50% - 8px);\n }\n\n a {\n width: 100%;\n justify-content: center;\n box-sizing: border-box;\n }\n }\n}\n\n#spacer {\n height: 88px;\n border-top: 1px solid var(--border);\n @media (max-width: 1024px) {\n height: 48px;\n }\n}\n\n.ticks {\n position: relative;\n width: 100%;\n\n &::before,\n &::after {\n content: '';\n position: absolute;\n top: -4.5px;\n border: 5px solid transparent;\n }\n\n &::before {\n left: 0;\n border-left-color: var(--border);\n }\n &::after {\n right: 0;\n border-right-color: var(--border);\n }\n}\n"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"name": "src/lib/Counter.svelte",
|
|
24
|
-
"contents": "<script lang=\"ts\">\n let count: number = $state(0)\n const increment = () => {\n count += 1\n }\n</script>\n\n<button onclick={increment}>\n
|
|
24
|
+
"contents": "<script lang=\"ts\">\n let count: number = $state(0)\n const increment = () => {\n count += 1\n }\n</script>\n\n<button type=\"button\" class=\"counter\" onclick={increment}>\n Count is {count}\n</button>\n"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"name": "src/main.ts",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
"name": "svelte.config.js",
|
|
32
|
-
"contents": "
|
|
32
|
+
"contents": "/** @type {import(\"@sveltejs/vite-plugin-svelte\").SvelteConfig} */\nexport default {}\n"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"name": "tsconfig.app.json",
|
|
36
|
-
"contents": "{\n \"extends\": \"@tsconfig/svelte/tsconfig.json\",\n \"compilerOptions\": {\n \"tsBuildInfoFile\": \"./node_modules/.tmp/tsconfig.app.tsbuildinfo\",\n \"target\": \"
|
|
36
|
+
"contents": "{\n \"extends\": \"@tsconfig/svelte/tsconfig.json\",\n \"compilerOptions\": {\n \"tsBuildInfoFile\": \"./node_modules/.tmp/tsconfig.app.tsbuildinfo\",\n \"target\": \"es2023\",\n \"module\": \"esnext\",\n \"types\": [\"svelte\", \"vite/client\"],\n \"allowArbitraryExtensions\": true,\n \"noEmit\": true,\n /**\n * Typecheck JS in `.svelte` and `.js` files by default.\n * Disable checkJs if you'd like to use dynamic types in JS.\n * Note that setting allowJs false does not prevent the use\n * of JS in `.svelte` files.\n */\n \"allowJs\": true,\n \"checkJs\": true,\n \"moduleDetection\": \"force\"\n },\n \"include\": [\"src/**/*.ts\", \"src/**/*.js\", \"src/**/*.svelte\"]\n}\n"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"name": "tsconfig.json",
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
"name": "tsconfig.node.json",
|
|
44
|
-
"contents": "{\n \"compilerOptions\": {\n \"tsBuildInfoFile\": \"./node_modules/.tmp/tsconfig.node.tsbuildinfo\",\n \"target\": \"
|
|
44
|
+
"contents": "{\n \"compilerOptions\": {\n \"tsBuildInfoFile\": \"./node_modules/.tmp/tsconfig.node.tsbuildinfo\",\n \"target\": \"es2023\",\n \"lib\": [\"ES2023\"],\n \"types\": [\"node\"],\n \"skipLibCheck\": true,\n\n /* Bundler mode */\n \"module\": \"nodenext\",\n \"allowImportingTsExtensions\": true,\n \"verbatimModuleSyntax\": true,\n \"moduleDetection\": \"force\",\n \"noEmit\": true,\n\n /* Linting */\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"erasableSyntaxOnly\": true,\n \"noFallthroughCasesInSwitch\": true\n },\n \"include\": [\"vite.config.ts\"]\n}\n"
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
"name": "vite.config.ts",
|
|
48
|
-
"contents": "import {
|
|
48
|
+
"contents": "import { svelte } from '@sveltejs/vite-plugin-svelte'\nimport { defineConfig } from 'vite'\n\n// https://vite.dev/config/\nexport default defineConfig({\n plugins: [svelte()],\n})\n"
|
|
49
49
|
}
|
|
50
50
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sv",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "A command line interface (CLI) for creating and maintaining Svelte applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"create",
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@sveltejs/sv-utils": "1.0.
|
|
37
|
+
"@sveltejs/sv-utils": "1.0.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@clack/prompts": "1.5.0",
|
|
41
41
|
"@types/gitignore-parser": "^0.0.3",
|
|
42
42
|
"@types/ps-tree": "^1.1.6",
|
|
43
43
|
"commander": "^15.0.0",
|
|
44
|
-
"create-vite": "^
|
|
44
|
+
"create-vite": "^9.2.1",
|
|
45
45
|
"empathic": "^2.0.1",
|
|
46
46
|
"gitignore-parser": "^0.0.2",
|
|
47
47
|
"modern-tar": "^0.7.7",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|