Skip to content

Commit

Permalink
[#150] Support Deno 1.17.1 (#152)
Browse files Browse the repository at this point in the history
  • Loading branch information
cmorten authored Dec 31, 2021
1 parent 3e5a855 commit a10a41f
Show file tree
Hide file tree
Showing 18 changed files with 64 additions and 57 deletions.
12 changes: 6 additions & 6 deletions .github/API/application.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The `app` object conventionally denotes the Opine application. Create it by
calling the top-level `opine()` function exported by the Opine module:

```ts
import opine from "https://deno.land/x/[email protected].0/mod.ts";
import opine from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand Down Expand Up @@ -69,7 +69,7 @@ sub-app was mounted.
> to a route.
```ts
import opine from "https://deno.land/x/[email protected].0/mod.ts";
import opine from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine(); // the main app
const admin = opine(); // the sub app
Expand Down Expand Up @@ -487,7 +487,7 @@ starts listening for requests - this is provided for legacy reasons to aid in
transitions from Express on Node.

```ts
import opine from "https://deno.land/x/[email protected].0/mod.ts";
import opine from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand Down Expand Up @@ -523,7 +523,7 @@ This method is supported for legacy reasons to aid in transitions from Express
on Node.

```ts
import opine from "https://deno.land/x/[email protected].0/mod.ts";
import opine from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();
const PORT = 3000;
Expand All @@ -542,7 +542,7 @@ starts listening for requests - this is provided for legacy reasons to aid in
transitions from Express on Node.

```ts
import opine from "https://deno.land/x/[email protected].0/mod.ts";
import opine from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand All @@ -560,7 +560,7 @@ starts listening for requests - this is provided for legacy reasons to aid in
transitions from Express on Node.

```ts
import opine from "https://deno.land/x/[email protected].0/mod.ts";
import opine from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand Down
8 changes: 4 additions & 4 deletions .github/API/middlewares.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ reasons.
> `toString` may not be a function and instead a string or other user-input.
```ts
import { json, opine } from "https://deno.land/x/[email protected].0/mod.ts";
import { json, opine } from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand Down Expand Up @@ -77,7 +77,7 @@ reasons.
> recommended.
```ts
import { opine, raw } from "https://deno.land/x/[email protected].0/mod.ts";
import { opine, raw } from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand Down Expand Up @@ -230,7 +230,7 @@ reasons.
> recommended.
```ts
import { opine, text } from "https://deno.land/x/[email protected].0/mod.ts";
import { opine, text } from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand Down Expand Up @@ -277,7 +277,7 @@ reasons.
> `toString` may not be a function and instead a string or other user-input.
```ts
import { opine, urlencoded } from "https://deno.land/x/[email protected].0/mod.ts";
import { opine, urlencoded } from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand Down
4 changes: 2 additions & 2 deletions .github/API/opine.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ Creates an Opine application. The `opine()` function is a top-level function
exported by the Opine module:

```ts
import opine from "https://deno.land/x/[email protected].0/mod.ts";
import opine from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();
```

The `opine()` function is also exported as a named export:

```ts
import { opine } from "https://deno.land/x/[email protected].0/mod.ts";
import { opine } from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();
```
4 changes: 2 additions & 2 deletions .github/API/request.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ import {
json,
opine,
urlencoded,
} from "https://deno.land/x/[email protected].0/mod.ts";
} from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand All @@ -118,7 +118,7 @@ The following example shows how to implement your own simple body-parsing
middleware to transform `req.body` into a raw string:

```ts
import opine from "https://deno.land/x/[email protected].0/mod.ts";
import opine from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand Down
4 changes: 2 additions & 2 deletions .github/API/router.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Opine has a top-level named function export `Router()` that creates a new
`router` object.

```ts
import { Router } from "https://deno.land/x/[email protected].0/mod.ts";
import { Router } from "https://deno.land/x/[email protected].1/mod.ts";

const router = Router(options);
```
Expand Down Expand Up @@ -260,7 +260,7 @@ function defined and work their way "down" the middleware stack processing for
each path they match.

```ts
import opine, { Router } from "https://deno.land/x/[email protected].0/mod.ts";
import opine, { Router } from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();
const router = Router();
Expand Down
4 changes: 4 additions & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# ChangeLog

## [2.0.1] - 18-12-2021

- deps: support Deno `1.17.1`, std `0.119.0`, and other minor dep upgrades.

## [2.0.0] - 28-11-2021

- feat: support Deno `1.16.3`, std `0.116.0`, and other minor dep upgrades.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
- uses: actions/checkout@v2
- uses: denolib/setup-deno@v2
with:
deno-version: 1.16.3
deno-version: 1.17.1
- run: |
mkdir -p artifacts
cat > artifacts/message.md <<EOF
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- run: make deps
- uses: denolib/setup-deno@v2
with:
deno-version: 1.16.3
deno-version: 1.17.1
- run: make typedoc
- run: make ci
- uses: stefanzweifel/git-auto-commit-action@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-egg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
- uses: actions/checkout@v2
- uses: denolib/setup-deno@v2
with:
deno-version: 1.16.3
deno-version: 1.17.1
- run: deno install -A -f --unstable -n eggs https://x.nest.land/[email protected]/eggs.ts
- run: |
export PATH="/home/runner/.deno/bin:$PATH"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
deno-version: [1.16.3]
deno-version: [1.17.1]

runs-on: ${{ matrix.os }}

Expand All @@ -25,7 +25,7 @@ jobs:
strategy:
matrix:
os: [windows-latest]
deno-version: [1.16.3]
deno-version: [1.17.1]

runs-on: ${{ matrix.os }}

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Fast, minimalist web framework for <a href="https://deno.land/">Deno</a> ported
</p>
<p align="center">
<a href="https://deno.land/x/opine"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Flatest-version%2Fx%2Fopine%2Fmod.ts" alt="Opine latest /x/ version" /></a>
<a href="https://github.com/denoland/deno/blob/main/Releases.md"><img src="https://img.shields.io/badge/deno-1.16.3-brightgreen?logo=deno" alt="Minimum supported Deno version" /></a>
<a href="https://github.com/denoland/deno/blob/main/Releases.md"><img src="https://img.shields.io/badge/deno-1.17.1-brightgreen?logo=deno" alt="Minimum supported Deno version" /></a>
<a href="https://deno-visualizer.danopia.net/dependencies-of/https/deno.land/x/opine/mod.ts"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Fdep-count%2Fx%2Fopine%2Fmod.ts" alt="Opine dependency count" /></a>
<a href="https://deno-visualizer.danopia.net/dependencies-of/https/deno.land/x/opine/mod.ts"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Fupdates%2Fx%2Fopine%2Fmod.ts" alt="Opine dependency outdatedness" /></a>
<a href="https://deno-visualizer.danopia.net/dependencies-of/https/deno.land/x/opine/mod.ts"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Fcache-size%2Fx%2Fopine%2Fmod.ts" alt="Opine cached size" /></a>
Expand All @@ -41,7 +41,7 @@ Fast, minimalist web framework for <a href="https://deno.land/">Deno</a> ported
## Getting Started

```ts
import { opine } from "https://deno.land/x/[email protected].0/mod.ts";
import { opine } from "https://deno.land/x/[email protected].1/mod.ts";

const app = opine();

Expand All @@ -65,14 +65,14 @@ Before importing, [download and install Deno](https://deno.land/#installation).
You can then import Opine straight into your project:

```ts
import { opine } from "https://deno.land/x/[email protected].0/mod.ts";
import { opine } from "https://deno.land/x/[email protected].1/mod.ts";
```

Opine is also available on [nest.land](https://nest.land/package/opine), a
package registry for Deno on the Blockchain.

```ts
import { opine } from "https://x.nest.land/[email protected].0/mod.ts";
import { opine } from "https://x.nest.land/[email protected].1/mod.ts";
```

## Features
Expand Down
24 changes: 12 additions & 12 deletions deps.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
export { Server } from "https://deno.land/std@0.116.0/http/server.ts";
export type { ConnInfo } from "https://deno.land/std@0.116.0/http/server.ts";
export { Server } from "https://deno.land/std@0.119.0/http/server.ts";
export type { ConnInfo } from "https://deno.land/std@0.119.0/http/server.ts";
export {
Status,
STATUS_TEXT,
} from "https://deno.land/std@0.116.0/http/http_status.ts";
} from "https://deno.land/std@0.119.0/http/http_status.ts";
export {
deleteCookie,
setCookie,
} from "https://deno.land/std@0.116.0/http/cookie.ts";
export type { Cookie } from "https://deno.land/std@0.116.0/http/cookie.ts";
} from "https://deno.land/std@0.119.0/http/cookie.ts";
export type { Cookie } from "https://deno.land/std@0.119.0/http/cookie.ts";
export {
basename,
dirname,
Expand All @@ -19,15 +19,15 @@ export {
normalize,
resolve,
sep,
} from "https://deno.land/std@0.116.0/path/mod.ts";
export { setImmediate } from "https://deno.land/std@0.116.0/node/timers.ts";
export { parse } from "https://deno.land/std@0.116.0/node/querystring.ts";
export { default as EventEmitter } from "https://deno.land/std@0.116.0/node/events.ts";
export { Sha1 } from "https://deno.land/std@0.116.0/hash/sha1.ts";
} from "https://deno.land/std@0.119.0/path/mod.ts";
export { setImmediate } from "https://deno.land/std@0.119.0/node/timers.ts";
export { parse } from "https://deno.land/std@0.119.0/node/querystring.ts";
export { default as EventEmitter } from "https://deno.land/std@0.119.0/node/events.ts";
export { Sha1 } from "https://deno.land/std@0.119.0/hash/sha1.ts";
export {
readableStreamFromReader,
readerFromStreamReader,
} from "https://deno.land/std@0.116.0/streams/conversion.ts";
} from "https://deno.land/std@0.119.0/streams/conversion.ts";

export {
charset,
Expand All @@ -46,6 +46,6 @@ export { encodeUrl } from "https://deno.land/x/[email protected]/mod.ts";
export { gunzip, inflate } from "https://deno.land/x/[email protected]/mod.ts";

export { default as parseRange } from "https://cdn.skypack.dev/[email protected]?dts";
export { default as qs } from "https://cdn.skypack.dev/[email protected].1?dts";
export { default as qs } from "https://cdn.skypack.dev/[email protected].2?dts";
export { default as ipaddr } from "https://cdn.skypack.dev/[email protected]?dts";
export { default as ms } from "https://cdn.skypack.dev/[email protected]?dts";
8 changes: 4 additions & 4 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ <h1 align="center">Opine</h1>
</p>
<p align="center">
<a href="https://deno.land/x/opine"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Flatest-version%2Fx%2Fopine%2Fmod.ts" alt="Opine latest /x/ version" /></a>
<a href="https://github.com/denoland/deno/blob/main/Releases.md"><img src="https://img.shields.io/badge/deno-1.16.3-brightgreen?logo=deno" alt="Minimum supported Deno version" /></a>
<a href="https://github.com/denoland/deno/blob/main/Releases.md"><img src="https://img.shields.io/badge/deno-1.17.1-brightgreen?logo=deno" alt="Minimum supported Deno version" /></a>
<a href="https://deno-visualizer.danopia.net/dependencies-of/https/deno.land/x/opine/mod.ts"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Fdep-count%2Fx%2Fopine%2Fmod.ts" alt="Opine dependency count" /></a>
<a href="https://deno-visualizer.danopia.net/dependencies-of/https/deno.land/x/opine/mod.ts"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Fupdates%2Fx%2Fopine%2Fmod.ts" alt="Opine dependency outdatedness" /></a>
<a href="https://deno-visualizer.danopia.net/dependencies-of/https/deno.land/x/opine/mod.ts"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Fcache-size%2Fx%2Fopine%2Fmod.ts" alt="Opine cached size" /></a>
Expand All @@ -105,7 +105,7 @@ <h2>Table of Contents</h2>
<a href="#getting-started" id="getting-started" style="color: inherit; text-decoration: none;">
<h2>Getting Started</h2>
</a>
<pre><code class="language-ts"><span class="hljs-keyword">import</span> { opine } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;https://deno.land/x/[email protected].0/mod.ts&quot;</span>;
<pre><code class="language-ts"><span class="hljs-keyword">import</span> { opine } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;https://deno.land/x/[email protected].1/mod.ts&quot;</span>;

<span class="hljs-keyword">const</span> app = opine();

Expand All @@ -125,11 +125,11 @@ <h2>Installation</h2>
repo and via the <a href="https://deno.land/x">Deno Registry</a>.</p>
<p>Before importing, <a href="https://deno.land/#installation">download and install Deno</a>.</p>
<p>You can then import Opine straight into your project:</p>
<pre><code class="language-ts"><span class="hljs-keyword">import</span> { opine } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;https://deno.land/x/[email protected].0/mod.ts&quot;</span>;
<pre><code class="language-ts"><span class="hljs-keyword">import</span> { opine } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;https://deno.land/x/[email protected].1/mod.ts&quot;</span>;
</code></pre>
<p>Opine is also available on <a href="https://nest.land/package/opine">nest.land</a>, a
package registry for Deno on the Blockchain.</p>
<pre><code class="language-ts"><span class="hljs-keyword">import</span> { opine } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;https://x.nest.land/[email protected].0/mod.ts&quot;</span>;
<pre><code class="language-ts"><span class="hljs-keyword">import</span> { opine } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;https://x.nest.land/[email protected].1/mod.ts&quot;</span>;
</code></pre>
<a href="#features" id="features" style="color: inherit; text-decoration: none;">
<h2>Features</h2>
Expand Down
2 changes: 1 addition & 1 deletion egg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "opine",
"description": "Fast, minimalist web framework for Deno ported from ExpressJS.",
"version": "2.0.0",
"version": "2.0.1",
"repository": "https://github.com/asos-craigmorten/opine",
"stable": true,
"checkFormat": false,
Expand Down
19 changes: 11 additions & 8 deletions src/application.ts
Original file line number Diff line number Diff line change
Expand Up @@ -551,22 +551,25 @@ app.listen = function listen(
options?: number | string | HTTPOptions | HTTPSOptions,
callback?: () => void,
): Server {
let addr: string;
let port = 0;
let hostname = "";

if (typeof options === "undefined") {
addr = ":0";
} else if (typeof options === "number") {
addr = `:${options}`;
if (typeof options === "number") {
port = options;
} else if (typeof options === "string") {
addr = options;
const addr = options.split(":");
hostname = addr[0];
port = parseInt(addr[1]);
} else {
addr = `${options.hostname ?? ""}:${options.port ?? 0}`;
hostname = options?.hostname ?? "";
port = options?.port ?? 0;
}

const isTls = isTlsOptions(options);

const server = new Server({
addr,
port,
hostname,
handler: async (request, connInfo) => {
const opineRequest = new WrappedRequest(request, connInfo);
this(opineRequest);
Expand Down
2 changes: 1 addition & 1 deletion src/utils/finalHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ function getErrorStatusCode(err: any): number | undefined {
function getResourceName(req: OpineRequest): string {
try {
return (parseUrl(req) as ParsedURL).pathname;
} catch (e) {
} catch {
return "resource";
}
}
Expand Down
8 changes: 4 additions & 4 deletions test/deps.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
export { deferred } from "https://deno.land/std@0.116.0/async/deferred.ts";
export type { Deferred } from "https://deno.land/std@0.116.0/async/deferred.ts";
export { deferred } from "https://deno.land/std@0.119.0/async/deferred.ts";
export type { Deferred } from "https://deno.land/std@0.119.0/async/deferred.ts";
export { expect, mock } from "https://deno.land/x/[email protected]/mod.ts";
export { superdeno } from "https://deno.land/x/superdeno@4.6.1/mod.ts";
export { superdeno } from "https://deno.land/x/superdeno@4.7.1/mod.ts";
export type {
IRequest as SuperDenoRequest,
IResponse as SuperDenoResponse,
} from "https://deno.land/x/superdeno@4.6.1/mod.ts";
} from "https://deno.land/x/superdeno@4.7.1/mod.ts";
4 changes: 2 additions & 2 deletions version.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/**
* Version of Opine.
*/
export const VERSION = "2.0.0";
export const VERSION = "2.0.1";

/**
* Supported version of Deno.
*/
export const DENO_SUPPORTED_VERSIONS: string[] = ["1.16.3"];
export const DENO_SUPPORTED_VERSIONS: string[] = ["1.17.1"];

0 comments on commit a10a41f

Please sign in to comment.