Skip to content

Commit c234bff

Browse files
authored
move to jsr (#41)
* feat: move to jsr * fix slow types * 1.4.5 * fix typo * 1.5.1 * 1.5.2 * fix ci * fix ci!!! * fix ci!!!!!!!!!!!!!!!!!!!!!!! * try ci * test ci
1 parent 46e8cbb commit c234bff

21 files changed

+332
-201
lines changed

.github/workflows/publish.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Publish
2+
on:
3+
push:
4+
branches:
5+
- main
6+
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-latest
10+
11+
permissions:
12+
contents: read
13+
id-token: write
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Use Deno
19+
uses: denoland/setup-deno@v2
20+
with:
21+
deno-version: v2.x
22+
23+
- name: Publish package
24+
run: deno publish

.github/workflows/suggest_change.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ jobs:
99
- name: Git Checkout Module
1010
uses: actions/checkout@v2
1111
- name: Use Deno
12-
uses: denoland/setup-deno@v1
12+
uses: denoland/setup-deno@v2
1313
with:
14-
deno-version: v1.x
14+
deno-version: v2.x
1515
- name: 😉 Format
1616
run: deno fmt
1717
- name: Create Suggestion

.github/workflows/test.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ jobs:
99
- name: Git Checkout Module
1010
uses: actions/checkout@v2
1111
- name: Use Deno
12-
uses: denoland/setup-deno@v1
12+
uses: denoland/setup-deno@v2
1313
with:
14-
deno-version: v1.x
14+
deno-version: v2.x
1515
- name: 😉 Format
1616
run: deno fmt --check
1717
- name: 😋 Lint
@@ -22,9 +22,9 @@ jobs:
2222
- name: Git Checkout Module
2323
uses: actions/checkout@v2
2424
- name: Use Deno
25-
uses: denoland/setup-deno@v1
25+
uses: denoland/setup-deno@v2
2626
with:
27-
deno-version: v1.x
27+
deno-version: v2.x
2828
- name: 🧐 Type Check
2929
run: deno task check
3030
Test:
@@ -33,15 +33,15 @@ jobs:
3333
- name: Git Checkout Module
3434
uses: actions/checkout@v2
3535
- name: Use Deno
36-
uses: denoland/setup-deno@v1
36+
uses: denoland/setup-deno@v2
3737
with:
38-
deno-version: v1.x
38+
deno-version: v2.x
3939
- name: 😎 Test
4040
run: deno task test --coverage=coverage
4141
- name: Create coverage report
4242
run: deno coverage ./coverage --lcov > coverage.lcov
4343
- name: Codecov
44-
uses: codecov/codecov-action@v1.5.2
44+
uses: codecov/codecov-action@v5
4545
with:
46-
file: ./coverage.lcov
46+
files: ./coverage.lcov
4747
fail_ci_if_error: true

.github/workflows/update.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- uses: actions/checkout@master
16-
- uses: denoland/setup-deno@v1
16+
- uses: denoland/setup-deno@v2
1717
- name: run deno-udd
1818
id: run-deno-udd
1919
env:

README.md

+21-29
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@ TypeScript + ES Modules
1111

1212
Transpile TypeScript on the fly and serve it from your server as ES Modules.
1313

14-
```ts
15-
import { serve } from "https://deno.land/[email protected]/http/mod.ts";
16-
import { serveDirWithTs } from "https://deno.land/x/ts_serve@$MODULE_VERSION/mod.ts";
14+
```ts ignore
15+
import { serveDirWithTs } from "@ayame113/ts-serve";
1716

18-
serve((request) => serveDirWithTs(request));
17+
Deno.serve((request) => serveDirWithTs(request));
1918
```
2019

2120
```tsx ignore
@@ -37,9 +36,9 @@ console.log(1);
3736

3837
As oak middleware:
3938

40-
```ts
41-
import { Application } from "https://deno.land/x/[email protected]/mod.ts";
42-
import { tsMiddleware } from "https://deno.land/x/ts_serve@$MODULE_VERSION/mod.ts";
39+
```ts ignore
40+
import { Application } from "@oak/oak";
41+
import { tsMiddleware } from "@ayame113/ts-serve";
4342

4443
const app = new Application();
4544

@@ -61,39 +60,36 @@ As a replacement for the
6160
[serveDir](https://doc.deno.land/https://deno.land/[email protected]/http/file_server.ts/~/serveDir)
6261
function in the Deno standard library:
6362

64-
```ts
65-
import { serve } from "https://deno.land/[email protected]/http/mod.ts";
66-
import { serveDirWithTs } from "https://deno.land/x/ts_serve@$MODULE_VERSION/mod.ts";
63+
```ts ignore
64+
import { serveDirWithTs } from "@ayame113/ts-serve";
6765

68-
serve((request) => serveDirWithTs(request));
66+
Deno.serve((request) => serveDirWithTs(request));
6967
```
7068

7169
As a replacement for the
7270
[serveFile](https://doc.deno.land/https://deno.land/[email protected]/http/file_server.ts/~/serveFile)
7371
function in the Deno standard library:
7472

75-
```ts
76-
import { serve } from "https://deno.land/[email protected]/http/mod.ts";
77-
import { serveFileWithTs } from "https://deno.land/x/ts_serve@$MODULE_VERSION/mod.ts";
73+
```ts ignore
74+
import { serveFileWithTs } from "@ayame113/ts-serve";
7875

79-
serve((request) => serveFileWithTs(request, "./mod.ts"));
76+
Deno.serve((request) => serveFileWithTs(request, "./mod.ts"));
8077
```
8178

8279
As [Hono](https://honojs.dev/)'s handler:
8380

84-
```ts
85-
import { serve } from "https://deno.land/[email protected]/http/server.ts";
86-
import { Hono } from "https://deno.land/x/[email protected]/mod.ts";
87-
import { serveDirWithTs } from "https://deno.land/x/ts_serve@$MODULE_VERSION/mod.ts";
81+
```ts ignore
82+
import { Hono } from "@hono/hono";
83+
import { serveDirWithTs } from "@ayame113/ts-serve";
8884

8985
const app = new Hono();
9086
app.get("*", (c) => {
9187
return serveDirWithTs(c.req.raw);
9288
});
93-
serve(app.fetch);
89+
Deno.serve(app.fetch);
9490
```
9591

96-
#### `fourceInstantiateWasm` function
92+
#### `forceInstantiateWasm` function
9793

9894
Calling this function will load the wasm file used in the deno_emit of the
9995
dependency. Even if you don't call this function, if you call the transpile
@@ -103,16 +99,12 @@ However, performance can be an issue on the server as loading the wasm file
10399
takes time. In that case, calling this function in advance can speed up later
104100
calls to the transpile function.
105101

106-
```ts
107-
import { serve } from "https://deno.land/[email protected]/http/mod.ts";
108-
import {
109-
fourceInstantiateWasm,
110-
serveDirWithTs,
111-
} from "https://deno.land/x/ts_serve@$MODULE_VERSION/mod.ts";
102+
```ts ignore
103+
import { forceInstantiateWasm, serveDirWithTs } from "@ayame113/ts-serve";
112104

113105
// load the wasm file in the background when the server starts.
114-
fourceInstantiateWasm();
115-
serve((request) => serveDirWithTs(request));
106+
forceInstantiateWasm();
107+
Deno.serve((request) => serveDirWithTs(request));
116108
```
117109

118110
## develop

deno.json

+16-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
{
2+
"name": "@ayame113/ts-serve",
3+
"version": "1.5.2",
4+
"license": "MIT",
5+
"exports": "./mod.ts",
26
"tasks": {
3-
"test": "deno test --doc --parallel --shuffle --allow-net=deno.land,localhost,0.0.0.0 --allow-read=.",
7+
"test": "deno test --doc --parallel --shuffle --allow-net=deno.land,localhost,0.0.0.0,jsr.io:443 --allow-read=.",
48
"check": "deno check ./mod.ts"
59
},
6-
"importMap": "./import-map.json"
10+
"imports": {
11+
"@deno/emit": "jsr:@deno/emit@^0.46.0",
12+
"@oak/oak": "jsr:@oak/oak@^17.1.3",
13+
"@std/assert": "jsr:@std/assert@^1.0.9",
14+
"@std/async": "jsr:@std/async@^1.0.9",
15+
"@std/http": "jsr:@std/http@^1.0.12",
16+
"@std/media-types": "jsr:@std/media-types@^1.1.0",
17+
"@std/testing": "jsr:@std/testing@^1.0.6",
18+
"@ayame113/ts-serve": "./mod.ts",
19+
"@ayame113/ts-serve/": "./"
20+
}
721
}

example/index.html

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<!DOCTYPE html>
22
<html lang="en" dir="ltr">
3-
<head>
4-
<meta charset="utf-8">
5-
<title></title>
6-
<script src="./main.ts" type="module"></script>
7-
</head>
8-
<body>
9-
hello world
10-
</body>
3+
<head>
4+
<meta charset="utf-8">
5+
<title></title>
6+
<script src="./main.ts" type="module"></script>
7+
</head>
8+
<body>
9+
hello world
10+
</body>
1111
</html>

example/serve.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
import { serve } from "https://deno.land/[email protected]/http/mod.ts";
21
import { serveDirWithTs } from "../mod.ts";
3-
serve((req) => serveDirWithTs(req, { fsRoot: "example" }));
2+
Deno.serve((req) => serveDirWithTs(req, { fsRoot: "example" }));

file_server_test.ts

+18-22
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
import {
2-
assertEquals,
3-
fail,
4-
} from "https://deno.land/[email protected]/testing/asserts.ts";
5-
import { serve } from "https://deno.land/[email protected]/http/mod.ts";
1+
import { assertEquals, fail } from "@std/assert";
62
import {
73
MediaType,
84
serveDirWithTs,
@@ -29,7 +25,11 @@ Deno.test({
2925
name: "file server - serveFileWithTs",
3026
async fn() {
3127
const controller = new AbortController();
32-
const serverPromise = serve((request) => {
28+
const serverPromise = Deno.serve({
29+
signal: controller.signal,
30+
port: 8886,
31+
onListen() {},
32+
}, (request) => {
3333
const { pathname } = new URL(request.url);
3434

3535
if (pathname === "/mod.ts") {
@@ -42,10 +42,6 @@ Deno.test({
4242
return serveFileWithTs(request, "./test/a.jsx");
4343
}
4444
throw new Error("unreachable");
45-
}, {
46-
signal: controller.signal,
47-
port: 8886,
48-
onListen() {},
4945
});
5046

5147
{
@@ -56,7 +52,7 @@ Deno.test({
5652
);
5753
assertEquals(
5854
res.headers.get("Content-Type"),
59-
"application/javascript; charset=UTF-8",
55+
"text/javascript; charset=UTF-8",
6056
);
6157
}
6258
{
@@ -67,7 +63,7 @@ Deno.test({
6763
);
6864
assertEquals(
6965
res.headers.get("Content-Type"),
70-
"application/javascript; charset=UTF-8",
66+
"text/javascript; charset=UTF-8",
7167
);
7268
}
7369
{
@@ -78,12 +74,12 @@ Deno.test({
7874
);
7975
assertEquals(
8076
res.headers.get("Content-Type"),
81-
"application/javascript; charset=UTF-8",
77+
"text/javascript; charset=UTF-8",
8278
);
8379
}
8480

8581
controller.abort();
86-
await serverPromise;
82+
await serverPromise.finished;
8783
},
8884
});
8985

@@ -121,7 +117,7 @@ Deno.test({
121117
assertEquals(res.status, 200);
122118
assertEquals(
123119
res.headers.get("Content-Type"),
124-
"application/javascript; charset=UTF-8",
120+
"text/javascript; charset=UTF-8",
125121
);
126122
},
127123
});
@@ -130,13 +126,13 @@ Deno.test({
130126
name: "file server - serveDirWithTs",
131127
async fn() {
132128
const controller = new AbortController();
133-
const serverPromise = serve(
134-
(request) => serveDirWithTs(request, { quiet: true }),
129+
const serverPromise = Deno.serve(
135130
{
136131
signal: controller.signal,
137132
port: 8887,
138133
onListen() {},
139134
},
135+
(request) => serveDirWithTs(request, { quiet: true }),
140136
);
141137

142138
{
@@ -147,7 +143,7 @@ Deno.test({
147143
);
148144
assertEquals(
149145
res.headers.get("Content-Type"),
150-
"application/javascript; charset=UTF-8",
146+
"text/javascript; charset=UTF-8",
151147
);
152148
}
153149
{
@@ -158,7 +154,7 @@ Deno.test({
158154
);
159155
assertEquals(
160156
res.headers.get("Content-Type"),
161-
"application/javascript; charset=UTF-8",
157+
"text/javascript; charset=UTF-8",
162158
);
163159
}
164160
{
@@ -169,12 +165,12 @@ Deno.test({
169165
);
170166
assertEquals(
171167
res.headers.get("Content-Type"),
172-
"application/javascript; charset=UTF-8",
168+
"text/javascript; charset=UTF-8",
173169
);
174170
}
175171

176172
controller.abort();
177-
await serverPromise;
173+
await serverPromise.finished;
178174
},
179175
});
180176

@@ -228,7 +224,7 @@ Deno.test({
228224
);
229225
assertEquals(
230226
res.headers.get("Content-Type"),
231-
"application/javascript; charset=UTF-8",
227+
"text/javascript; charset=UTF-8",
232228
);
233229
},
234230
});

import-map.json

-5
This file was deleted.

0 commit comments

Comments
 (0)