mirror of
https://github.com/kou029w/websri.git
synced 2025-02-22 08:45:56 +00:00
test with deno and bun
This commit is contained in:
parent
628cc0bdee
commit
8d6c191978
9 changed files with 120 additions and 1 deletions
24
.github/workflows/test.yml
vendored
24
.github/workflows/test.yml
vendored
|
@ -1,7 +1,7 @@
|
|||
name: test
|
||||
on: push
|
||||
jobs:
|
||||
nodejs:
|
||||
node:
|
||||
name: Node.js v${{ matrix.node-version }}
|
||||
strategy:
|
||||
matrix:
|
||||
|
@ -18,3 +18,25 @@ jobs:
|
|||
cache: npm
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
deno:
|
||||
name: Deno
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: denoland/setup-deno@v1
|
||||
with:
|
||||
deno-version: latest
|
||||
- run: deno task test
|
||||
working-directory: runtime/deno
|
||||
bun:
|
||||
name: Bun
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: latest
|
||||
- run: bun test
|
||||
working-directory: runtime/bun
|
||||
|
|
|
@ -18,6 +18,9 @@ yarn add websri
|
|||
# pnpm
|
||||
pnpm install websri
|
||||
|
||||
# deno
|
||||
deno add npm:websri
|
||||
|
||||
# bun
|
||||
bun install websri
|
||||
```
|
||||
|
|
12
runtime/bun/Integrity-metadata.test.ts
Normal file
12
runtime/bun/Integrity-metadata.test.ts
Normal file
|
@ -0,0 +1,12 @@
|
|||
import { expect, test } from "bun:test";
|
||||
import { createIntegrityMetadata } from "../../src/index.ts";
|
||||
|
||||
test("createIntegrityMetadata()", async () => {
|
||||
const res = new Response("Hello, world!");
|
||||
const data = await res.arrayBuffer();
|
||||
const integrityMetadata = await createIntegrityMetadata("sha256", data);
|
||||
|
||||
expect(integrityMetadata.toString()).toBe(
|
||||
"sha256-MV9b23bQeMQ7isAGTkoBZGErH853yGk0W/yUx1iU7dM=",
|
||||
);
|
||||
});
|
BIN
runtime/bun/bun.lockb
Executable file
BIN
runtime/bun/bun.lockb
Executable file
Binary file not shown.
8
runtime/bun/package.json
Normal file
8
runtime/bun/package.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"devDependencies": {
|
||||
"@types/bun": "latest"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "^5.0.0"
|
||||
}
|
||||
}
|
27
runtime/bun/tsconfig.json
Normal file
27
runtime/bun/tsconfig.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
// Enable latest features
|
||||
"lib": ["ESNext", "DOM"],
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
"moduleDetection": "force",
|
||||
"jsx": "react-jsx",
|
||||
"allowJs": true,
|
||||
|
||||
// Bundler mode
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"noEmit": true,
|
||||
|
||||
// Best practices
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
|
||||
// Some stricter flags (disabled by default)
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noPropertyAccessFromIndexSignature": false
|
||||
}
|
||||
}
|
8
runtime/deno/deno.json
Normal file
8
runtime/deno/deno.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"tasks": {
|
||||
"test": "deno test --no-check"
|
||||
},
|
||||
"imports": {
|
||||
"@std/assert": "jsr:@std/assert@^1.0.3"
|
||||
}
|
||||
}
|
26
runtime/deno/deno.lock
generated
Normal file
26
runtime/deno/deno.lock
generated
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"version": "3",
|
||||
"packages": {
|
||||
"specifiers": {
|
||||
"jsr:@std/assert@^1.0.3": "jsr:@std/assert@1.0.3",
|
||||
"jsr:@std/internal@^1.0.2": "jsr:@std/internal@1.0.2"
|
||||
},
|
||||
"jsr": {
|
||||
"@std/assert@1.0.3": {
|
||||
"integrity": "b0d03ce1ced880df67132eea140623010d415848df66f6aa5df76507ca7c26d8",
|
||||
"dependencies": [
|
||||
"jsr:@std/internal@^1.0.2"
|
||||
]
|
||||
},
|
||||
"@std/internal@1.0.2": {
|
||||
"integrity": "f4cabe2021352e8bfc24e6569700df87bf070914fc38d4b23eddd20108ac4495"
|
||||
}
|
||||
}
|
||||
},
|
||||
"remote": {},
|
||||
"workspace": {
|
||||
"dependencies": [
|
||||
"jsr:@std/assert@^1.0.3"
|
||||
]
|
||||
}
|
||||
}
|
13
runtime/deno/integrity-metadata.test.ts
Normal file
13
runtime/deno/integrity-metadata.test.ts
Normal file
|
@ -0,0 +1,13 @@
|
|||
import { assertEquals } from "@std/assert";
|
||||
import { createIntegrityMetadata } from "../../src/index.ts";
|
||||
|
||||
Deno.test("createIntegrityMetadata()", async () => {
|
||||
const res = new Response("Hello, world!");
|
||||
const data = await res.arrayBuffer();
|
||||
const integrityMetadata = await createIntegrityMetadata("sha256", data);
|
||||
|
||||
assertEquals(
|
||||
integrityMetadata.toString(),
|
||||
"sha256-MV9b23bQeMQ7isAGTkoBZGErH853yGk0W/yUx1iU7dM=",
|
||||
);
|
||||
});
|
Loading…
Add table
Reference in a new issue