Skip to content

Commit 5a7e4bd

Browse files
committed
update api
1 parent c1c44d6 commit 5a7e4bd

File tree

9 files changed

+57
-36
lines changed

9 files changed

+57
-36
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Currently Sveltris only supports React, but might support others soon.
2626
```html
2727
<script>
2828
import { useCounter } from 'some-lib';
29-
import { use } from 'sveltris';
29+
import { use } from 'sveltris/svelte';
3030
3131
const counter = use(useCounter());
3232
</script>

docs/pages/docs/installation.mdx

+16-5
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import { Tab, Tabs, Steps, Callout } from 'nextra-theme-docs'
3131
<Tabs items={["Esbuild", "Vite", "Webpack"]}>
3232
<Tab>
3333
```js
34-
const { sveltrisEsbuildPlugins } = require("sveltris/esbuild")
34+
const { sveltrisEsbuildPlugins } = require("sveltris")
3535
const esbuild = require('esbuild')
3636

3737
esbuild.build({
@@ -44,23 +44,34 @@ import { Tab, Tabs, Steps, Callout } from 'nextra-theme-docs'
4444
</Tab>
4545
<Tab>
4646
```js filename="vite.config.js"
47-
import { sveltrisVitePlugin } from "sveltris/vite"
47+
import { sveltrisVitePlugins } from "sveltris"
4848
import { defineConfig } from 'vite';
4949

5050
export default defineConfig({
5151
plugins: [
52-
sveltrisVitePlugin()
52+
...sveltrisVitePlugins()
5353
]
5454
})
5555
```
5656
</Tab>
5757
<Tab>
5858
```js filename="webpack.config.js"
59-
const { SveltrisWebpackPlugin } = require("sveltris/webpack")
59+
const { sveltrisWebpackPlugins } = require("sveltris")
6060

6161
module.exports = {
6262
plugins: [
63-
new SveltrisWebpackPlugin()
63+
...sveltrisWebpackPlugins()
64+
]
65+
}
66+
```
67+
</Tab>
68+
<Tab>
69+
```js filename="rollup.config.js"
70+
const { sveltrisRollupPlugins } = require("sveltris")
71+
72+
module.exports = {
73+
plugins: [
74+
...sveltrisRollupPlugins()
6475
]
6576
}
6677
```

docs/pages/docs/usage/hooks.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Sveltris allows you to use React hooks inside your Svelte component by wrapping
1414
```html
1515
<script>
1616
import { useState } from 'react'
17-
import { use } from 'sveltris'
17+
import { use } from 'sveltris/react'
1818
1919
const counter = use(useState(0))
2020
</script>

package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@
99
"node": "./dist/react/node.js",
1010
"default": "./dist/react/browser.js"
1111
},
12-
"./react/plugin": "./dist/react/plugin.js",
1312
"./svelte": {
1413
"browser": "./dist/svelte/browser.mjs",
1514
"node": "./dist/svelte/node.js",
1615
"default": "./dist/svelte/browser.js"
1716
},
18-
"./svelte/plugin": "./dist/svelte/plugin.js"
17+
".": "./dist/index.js"
1918
},
2019
"scripts": {
2120
"build": "tsup",

src/index.ts

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { sveltrisReactInSvelte } from './svelte/plugin';
2+
import { sveltrisSvelteInReact } from './react/plugin';
3+
4+
export const sveltrisEsbuildPlugins = () => [
5+
sveltrisReactInSvelte.esbuild(),
6+
sveltrisSvelteInReact.esbuild(),
7+
];
8+
9+
export const sveltrisWebpackPlugins = () => [
10+
sveltrisReactInSvelte.webpack(),
11+
sveltrisSvelteInReact.webpack(),
12+
];
13+
14+
export const sveltrisVitePlugins = () => [
15+
sveltrisReactInSvelte.vite(),
16+
sveltrisSvelteInReact.vite(),
17+
];
18+
19+
export const sveltrisRollupPlugins = () => [
20+
sveltrisReactInSvelte.rollup(),
21+
sveltrisSvelteInReact.rollup(),
22+
];

src/react/plugin.ts

+2-8
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import path from 'path';
22
import { createUnplugin } from 'unplugin';
33
import { outdent } from 'outdent';
44

5-
const svelteInReact = createUnplugin((options: {}) => {
5+
export const sveltrisSvelteInReact = createUnplugin((options: {}) => {
66
return {
7-
name: 'svelte-in-react',
7+
name: 'sveltris-svelte-in-react',
88
transformInclude(id) {
99
return id.endsWith('?in-react');
1010
},
@@ -27,9 +27,3 @@ const svelteInReact = createUnplugin((options: {}) => {
2727
},
2828
};
2929
});
30-
31-
export const {
32-
esbuild: svelteInReactEsbuildPlugin,
33-
vite: svelteInReactVitePlugin,
34-
webpack: svelteInReactWebpackPlugin,
35-
} = svelteInReact;

src/svelte/browser.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ export function setupEvents(node: HTMLElement, obj: any) {
3434
};
3535
}
3636

37-
function createReactApp(hook: any, args: any, store: any) {
37+
function createReactApp(hookFn: any, store: any) {
3838
return function ReactApp() {
39-
const _state = hook(...(get(args) as any));
39+
const _state = hookFn();
4040

4141
React.useEffect(() => {
4242
store.set(_state);
@@ -46,11 +46,11 @@ function createReactApp(hook: any, args: any, store: any) {
4646
};
4747
}
4848

49-
export function use(hook: any, args = [], ctxs = []) {
49+
export function use(hookFn: any, ctxs = []) {
5050
let store = writable(null);
5151
let ReactApp = createReactApp(
52-
hook,
53-
(args as any).subscribe ? args : readable(args),
52+
hookFn,
53+
// (args as any).subscribe ? args : readable(args),
5454
store
5555
);
5656

src/svelte/plugin.ts

+6-12
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@ import path from 'path';
22
import { createUnplugin } from 'unplugin';
33
import { outdent } from 'outdent';
44

5-
const reactInSvelte = createUnplugin(() => {
5+
export const sveltrisReactInSvelte = createUnplugin(() => {
66
return {
7-
name: 'react-in-svelte',
7+
name: 'sveltris-react-in-svelte',
88
resolveId(id) {
9-
if (/^react-in-svelte.svelte/.test(id)) {
9+
if (/^sveltris-react-in-svelte.svelte/.test(id)) {
1010
return { id: id };
1111
}
1212
},
1313
loadInclude(id) {
14-
return /^react-in-svelte.svelte/.test(id);
14+
return /^sveltris-react-in-svelte.svelte/.test(id);
1515
},
1616
load(id) {
17-
if (/^react-in-svelte.svelte\?path=/.test(id)) {
17+
if (/^sveltris-react-in-svelte.svelte\?path=/.test(id)) {
1818
return outdent`
1919
<script>
2020
import { onMount, createEventDispatcher, onDestroy, afterUpdate } from 'svelte';
@@ -64,7 +64,7 @@ const reactInSvelte = createUnplugin(() => {
6464
const { name } = path.parse(id);
6565

6666
return outdent`
67-
import Comp$${name} from "react-in-svelte.svelte?path=${id.replace(
67+
import Comp$${name} from "sveltris-react-in-svelte.svelte?path=${id.replace(
6868
'?in-svelte',
6969
''
7070
)}"
@@ -74,9 +74,3 @@ const reactInSvelte = createUnplugin(() => {
7474
},
7575
};
7676
});
77-
78-
export const {
79-
esbuild: reactInSvelteEsbuildPlugin,
80-
vite: reactInSvelteVitePlugin,
81-
webpack: reactInSvelteWebpackPlugin,
82-
} = reactInSvelte;

tsup.config.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ export default defineConfig({
77
'src/react/node.tsx',
88
'src/svelte/browser.ts',
99
'src/svelte/node.ts',
10-
'src/svelte/plugin.ts',
11-
'src/react/plugin.ts',
10+
'src/index.ts',
11+
// 'src/svelte/plugin.ts',
12+
// 'src/react/plugin.ts',
1213
],
1314
splitting: false,
1415
clean: true,

0 commit comments

Comments
 (0)