Skip to content

Commit 7dfa922

Browse files
authored
Merge pull request #12 from crashmax-dev/open-browser
feat: server options, serve static
2 parents 317a394 + 7ff63db commit 7dfa922

File tree

12 files changed

+261
-96
lines changed

12 files changed

+261
-96
lines changed

README.md

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export default defineConfig({
3939
plugins: [
4040
Userscript({
4141
entry: 'src/index.ts',
42-
metadata: {
42+
header: {
4343
name,
4444
version,
4545
match: [
@@ -67,22 +67,35 @@ export default defineConfig({
6767
## Plugin Configuration
6868

6969
```ts
70-
export interface UserscriptPluginConfig {
71-
/**
72-
* Path of userscript entry.
73-
*/
74-
entry: string
75-
76-
/**
77-
* Userscript header config.
78-
*/
79-
metadata: MetadataConfig
80-
81-
/**
82-
* Import all `@grant` in development mode.
83-
* @default true
84-
*/
85-
autoGrants?: boolean
70+
interface ServerConfig {
71+
/**
72+
* {@link https://github.com/sindresorhus/get-port}
73+
*/
74+
port?: number;
75+
/**
76+
* @default true
77+
*/
78+
open?: boolean;
79+
}
80+
81+
interface UserscriptPluginConfig {
82+
/**
83+
* Path of userscript entry.
84+
*/
85+
entry: string;
86+
/**
87+
* Userscript header config.
88+
*/
89+
header: HeaderConfig;
90+
/**
91+
* Server config.
92+
*/
93+
server?: ServerConfig;
94+
/**
95+
* Import all `@grant` in development mode.
96+
* @default true
97+
*/
98+
autoGrants?: boolean;
8699
}
87100
```
88101

examples/basic/vite.config.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@ export default defineConfig({
66
plugins: [
77
Userscript({
88
entry: 'src/index.ts',
9-
metadata: {
9+
header: {
1010
name,
1111
version,
1212
match: [
1313
'https://example.com',
1414
'https://example.org',
1515
'https://example.edu'
1616
]
17+
},
18+
server: {
19+
open: false
1720
}
1821
})
1922
]

examples/jsx/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
},
1010
"devDependencies": {
1111
"babel-plugin-transform-react-jsx": "^6.24.1",
12-
"vite-redom-jsx": "^2.0.2",
12+
"vite-redom-jsx": "^2.0.3",
1313
"vite-userscript-plugin": "workspace:*"
1414
},
1515
"dependencies": {
16-
"redom-jsx": "^3.29.1"
16+
"redom-jsx": "^3.29.2"
1717
}
1818
}

examples/jsx/src/ListId.tsx renamed to examples/jsx/src/List.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
import { mount } from 'redom-jsx'
2-
import type { RedomComponent, RedomEl, RedomElement, RedomProps } from 'redom-jsx'
2+
import type {
3+
RedomComponent,
4+
RedomEl,
5+
RedomElement,
6+
RedomProps
7+
} from 'redom-jsx'
38

49
interface ItemsProps {
510
count: number
@@ -34,11 +39,12 @@ class Items implements RedomComponent {
3439
}
3540

3641
private render(): void {
42+
// prettier-ignore
3743
<span this="el">{this.generateList()}</span>
3844
}
3945
}
4046

41-
export class ListId implements RedomComponent {
47+
export class List implements RedomComponent {
4248
el: RedomEl
4349

4450
private items: Items

examples/jsx/src/Toggle.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import { RedomComponent, RedomEl } from "redom-jsx";
2-
import { Heading } from "./Heading.jsx";
1+
import { RedomComponent, RedomEl } from 'redom-jsx'
2+
import { Heading } from './Heading.jsx'
33

44
export class Toggle implements RedomComponent {
5-
el: RedomEl;
5+
el: RedomEl
66

77
private heading: Heading
88

99
constructor() {
10+
// prettier-ignore
1011
<div this="el">
1112
<Heading this="heading" />
1213
<button

examples/jsx/src/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { mount } from 'redom-jsx'
2-
import { App } from './App.js'
3-
import { ListId } from './ListId.jsx'
2+
import { App } from './App.jsx'
3+
import { List } from './List.jsx'
44
import { Toggle } from './Toggle.jsx'
55

66
mount(document.body, <App />)
77
mount(document.body, <Toggle />)
8-
mount(document.body, <ListId />)
8+
mount(document.body, <List />)

examples/jsx/vite.config.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@ export default defineConfig({
88
Redom(),
99
Userscript({
1010
entry: 'src/index.tsx',
11-
metadata: {
11+
header: {
1212
name,
1313
version,
1414
match: 'https://example.com'
15+
},
16+
server: {
17+
open: false
1518
}
1619
})
1720
]

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,17 @@
4646
"dependencies": {
4747
"@types/tampermonkey": "^4.0.5",
4848
"get-port": "^6.1.2",
49+
"open": "^8.4.0",
50+
"picocolors": "^1.0.0",
4951
"sanitize-filename": "^1.6.3",
52+
"serve-handler": "^6.1.3",
5053
"websocket": "^1.0.34"
5154
},
5255
"devDependencies": {
5356
"@crashmax/prettier-config": "^2.0.3",
5457
"@crashmax/tsconfig": "^1.0.2",
5558
"@types/node": "^18.7.13",
59+
"@types/serve-handler": "^6.1.1",
5660
"@types/websocket": "^1.0.5",
5761
"@vitest/ui": "^0.22.1",
5862
"tsup": "^6.2.3",

0 commit comments

Comments
 (0)