Skip to content

Commit e3d61b9

Browse files
committed
initial commit
0 parents  commit e3d61b9

30 files changed

+2166
-0
lines changed

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
node_modules
2+
3+
# Output
4+
.output
5+
.vercel
6+
.netlify
7+
.wrangler
8+
/.svelte-kit
9+
/build
10+
/dist
11+
12+
# OS
13+
.DS_Store
14+
Thumbs.db
15+
16+
# Env
17+
.env
18+
.env.*
19+
!.env.example
20+
!.env.test
21+
22+
# Vite
23+
vite.config.js.timestamp-*
24+
vite.config.ts.timestamp-*

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
engine-strict=true

.prettierignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Package Managers
2+
package-lock.json
3+
pnpm-lock.yaml
4+
yarn.lock
5+
bun.lock
6+
bun.lockb

.prettierrc

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"trailingComma": "all",
3+
"useTabs": true,
4+
"tabWidth": 2,
5+
"printWidth": 110,
6+
"semi": true,
7+
"singleQuote": true,
8+
"bracketSpacing": true,
9+
"plugins": ["prettier-plugin-svelte"],
10+
"overrides": [
11+
{
12+
"files": "*.svelte",
13+
"options": {
14+
"parser": "svelte"
15+
}
16+
},
17+
{
18+
"files": ["tsconfig.json", "jsconfig.json", "tsconfig.*.json"],
19+
"options": {
20+
"parser": "jsonc"
21+
}
22+
},
23+
{
24+
"files": ["*.md"],
25+
"options": {
26+
"printWidth": 100,
27+
"proseWrap": "always"
28+
}
29+
}
30+
]
31+
}

README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# @mary-ext/svelte-query
2+
3+
my own Svelte adapter for TanStack Query
4+
5+
- Written for Svelte 5.
6+
- Doesn't make use of deep reactivity, `$state.snapshot()` is not required.
7+
- Integrates with [svelte-freeze](https://github.com/mary-ext/svelte-freeze).
8+
- No server-side support.
9+
10+
```svelte
11+
<script>
12+
import { createQuery } from '@mary-ext/svelte-query';
13+
14+
const query = createQuery(() => ({
15+
queryKey: ['todos'],
16+
queryFn: fetchTodos,
17+
}));
18+
</script>
19+
20+
{#if query.isLoading}
21+
<div>Loading...</div>
22+
{:else if query.isError}
23+
<div>Error: {query.error.message}</div>
24+
{:else}
25+
<ul>
26+
{#each query.data as todo}
27+
<li>{todo.title}</li>
28+
{/each}
29+
</ul>
30+
{/if}
31+
```

package.json

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"name": "@mary-ext/svelte-query",
3+
"version": "0.1.0",
4+
"scripts": {
5+
"dev": "vite dev",
6+
"build": "vite build && npm run prepack",
7+
"preview": "vite preview",
8+
"prepare": "svelte-kit sync || echo ''",
9+
"prepack": "svelte-kit sync && svelte-package && publint",
10+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
11+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
12+
"format": "prettier --cache --write .",
13+
"lint": "prettier --check ."
14+
},
15+
"files": [
16+
"dist",
17+
"!dist/**/*.test.*",
18+
"!dist/**/*.spec.*"
19+
],
20+
"sideEffects": [
21+
"**/*.css"
22+
],
23+
"svelte": "./dist/index.js",
24+
"types": "./dist/index.d.ts",
25+
"type": "module",
26+
"exports": {
27+
".": {
28+
"types": "./dist/index.d.ts",
29+
"svelte": "./dist/index.js"
30+
}
31+
},
32+
"peerDependencies": {
33+
"svelte": "^5.0.0"
34+
},
35+
"dependencies": {
36+
"@tanstack/query-core": "^5.69.0",
37+
"runed": "^0.25.0",
38+
"svelte-freeze": "^0.1.3"
39+
},
40+
"devDependencies": {
41+
"@sveltejs/adapter-auto": "^5.0.0",
42+
"@sveltejs/kit": "^2.20.2",
43+
"@sveltejs/package": "^2.3.10",
44+
"@sveltejs/vite-plugin-svelte": "^5.0.3",
45+
"prettier": "^3.5.3",
46+
"prettier-plugin-svelte": "^3.3.3",
47+
"publint": "^0.3.9",
48+
"svelte": "^5.25.2",
49+
"svelte-check": "^4.1.5",
50+
"typescript": "^5.8.2",
51+
"vite": "^6.2.2"
52+
},
53+
"keywords": [
54+
"svelte"
55+
]
56+
}

0 commit comments

Comments
 (0)