Skip to content

Commit 4af16b1

Browse files
Merge pull request #1 from httpland/beta
Beta
2 parents 1448567 + 5b6f392 commit 4af16b1

30 files changed

+2142
-552
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: "CodeQL"
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
pull_request:
9+
branches:
10+
- main
11+
12+
schedule:
13+
- cron: '18 15 * * 2'
14+
15+
jobs:
16+
analyze:
17+
name: Analyze
18+
runs-on: ubuntu-latest
19+
permissions:
20+
actions: read
21+
contents: read
22+
security-events: write
23+
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
language: [ 'typescript' ]
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v3
32+
33+
- name: Initialize CodeQL
34+
uses: github/codeql-action/init@v2
35+
with:
36+
languages: ${{ matrix.language }}
37+
38+
- name: Autobuild
39+
uses: github/codeql-action/autobuild@v2
40+
41+
- name: Perform CodeQL Analysis
42+
uses: github/codeql-action/analyze@v2

.github/workflows/release-npm.yaml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: release-npm
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
release:
9+
runs-on: ${{ matrix.os }}
10+
11+
strategy:
12+
matrix:
13+
os: [ubuntu-latest]
14+
deno: [v1.x]
15+
node: [16.x]
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v3
20+
21+
- uses: denoland/setup-deno@v1
22+
with:
23+
deno-version: ${{ matrix.deno }}
24+
25+
- name: Cache node_modules
26+
uses: actions/cache@v2
27+
with:
28+
path: ~/.pnpm-store
29+
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
30+
restore-keys: |
31+
${{ runner.os }}-
32+
33+
- uses: pnpm/[email protected]
34+
with:
35+
version: 6.23.6
36+
run_install: |
37+
- recursive: true
38+
args: [--frozen-lockfile, --prefer-offline, --ignore-scripts]
39+
40+
- name: Get tag version
41+
if: startsWith(github.ref, 'refs/tags/')
42+
id: get_tag_version
43+
run: echo ::set-output name=TAG_VERSION::${GITHUB_REF/refs\/tags\//}
44+
45+
- uses: actions/setup-node@v2
46+
with:
47+
node-version: ${{ matrix.node }}
48+
registry-url: 'https://registry.npmjs.org'
49+
50+
- name: build
51+
run: deno run -A ./_tools/build_npm.ts ${{steps.get_tag_version.outputs.TAG_VERSION}}
52+
53+
- name: publish
54+
env:
55+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
56+
run: deno run -A ./_tools/publish_npm.ts ${{steps.get_tag_version.outputs.TAG_VERSION}}
57+

.github/workflows/release.yaml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: release
2+
3+
on:
4+
push:
5+
branches:
6+
- beta
7+
- main
8+
9+
jobs:
10+
lint:
11+
runs-on: ${{ matrix.os }}
12+
13+
strategy:
14+
matrix:
15+
os: [ubuntu-latest]
16+
deno: [v1.x]
17+
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v3
21+
22+
- uses: denoland/setup-deno@v1
23+
with:
24+
deno-version: ${{ matrix.deno }}
25+
26+
- name: Lint
27+
run: |
28+
deno fmt --check
29+
deno lint
30+
31+
test:
32+
runs-on: ${{ matrix.os }}
33+
34+
strategy:
35+
matrix:
36+
os: [ubuntu-latest]
37+
deno: [v1.x]
38+
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v3
42+
43+
- uses: denoland/setup-deno@v1
44+
with:
45+
deno-version: ${{ matrix.deno }}
46+
47+
- name: Test
48+
run: deno task test --coverage=coverage
49+
50+
- name: Generate coverage
51+
run: deno coverage coverage --output=cov_profile.lcov --lcov
52+
53+
- uses: codecov/codecov-action@v3
54+
with:
55+
files: cov_profile.lcov
56+
57+
release:
58+
needs: [lint, test]
59+
runs-on: ${{ matrix.os }}
60+
61+
strategy:
62+
matrix:
63+
os: [ubuntu-latest]
64+
65+
steps:
66+
- name: Checkout
67+
uses: actions/checkout@v3
68+
with:
69+
token: ${{ secrets.GH_TOKEN }}
70+
71+
- uses: cycjimmy/semantic-release-action@v3
72+
with:
73+
extra_plugins: |
74+
@semantic-release/changelog
75+
@semantic-release/git
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}

.github/workflows/test.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: test
2+
3+
on: push
4+
jobs:
5+
lint:
6+
runs-on: ${{ matrix.os }}
7+
8+
strategy:
9+
matrix:
10+
os: [ubuntu-latest, ubuntu-22.04, macos-latest, windows-latest]
11+
deno: [v1.x]
12+
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v3
16+
17+
- uses: denoland/setup-deno@v1
18+
with:
19+
deno-version: ${{ matrix.deno }}
20+
21+
- name: Lint
22+
run: |
23+
deno fmt --check
24+
deno lint
25+
26+
test:
27+
runs-on: ${{ matrix.os }}
28+
29+
strategy:
30+
matrix:
31+
os: [ubuntu-latest, ubuntu-22.04, macos-latest, windows-latest]
32+
deno: [v1.x]
33+
34+
steps:
35+
- name: Checkout
36+
uses: actions/checkout@v3
37+
38+
- uses: denoland/setup-deno@v1
39+
with:
40+
deno-version: ${{ matrix.deno }}
41+
42+
- name: Test
43+
run: deno task test

.releaserc

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"branches": [
3+
"main",
4+
{
5+
"name": "beta",
6+
"prerelease": true
7+
}
8+
],
9+
"plugins": [
10+
"@semantic-release/commit-analyzer",
11+
"@semantic-release/release-notes-generator",
12+
"@semantic-release/changelog",
13+
"@semantic-release/github",
14+
[
15+
"@semantic-release/git",
16+
{
17+
"assets": [
18+
"CHANGELOG.md"
19+
],
20+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
21+
}
22+
]
23+
],
24+
"tagFormat": "${version}"
25+
}

CHANGELOG.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# [1.0.0-beta.3](https://github.com/httpland/range-request-middleware/compare/1.0.0-beta.2...1.0.0-beta.3) (2023-03-26)
2+
3+
4+
### Bug Fixes
5+
6+
* **transform:** remove unnecessary requirements ([43900d8](https://github.com/httpland/range-request-middleware/commit/43900d8f423c563541cd2f216fa89825f0d04114))
7+
8+
9+
### Features
10+
11+
* **accept_ranges:** add accept-ranges header parser and check that header is none strictly ([980f9b4](https://github.com/httpland/range-request-middleware/commit/980f9b4b8d6b28460db028fd75a4dd9eaff86950))
12+
13+
# [1.0.0-beta.2](https://github.com/httpland/range-request-middleware/compare/1.0.0-beta.1...1.0.0-beta.2) (2023-03-25)
14+
15+
16+
### Bug Fixes
17+
18+
* **transform:** change the range unit equality to case insensitive ([16d547e](https://github.com/httpland/range-request-middleware/commit/16d547e067a8c61eeb9400c2d49f01f7b2d440fc))
19+
20+
21+
### Features
22+
23+
* **content_range:** add checking format of content-range header ([169b15d](https://github.com/httpland/range-request-middleware/commit/169b15d8d90fadaca9e8161c41c21e9fed84600c))
24+
* **mod:** remove unrelated types ([068dd87](https://github.com/httpland/range-request-middleware/commit/068dd87cdf0870eac0e6534a214423b6d61ca54f))
25+
* **types:** change range interface, update docs ([28b2da9](https://github.com/httpland/range-request-middleware/commit/28b2da91541b60365db43ebdaa7a120ff607cdac))
26+
* **types:** remove object method types ([2409a96](https://github.com/httpland/range-request-middleware/commit/2409a9648e3b68d6e620d75abd261498bf14b2d0))
27+
28+
# 1.0.0-beta.1 (2023-03-24)
29+
30+
31+
### Bug Fixes
32+
33+
* **transform:** change the success status code ([7e789a1](https://github.com/httpland/range-request-middleware/commit/7e789a18076f97d1ea1c27480a5bfa205ea9915e))
34+
* **transform:** fix to change 416 response condition ([2509e90](https://github.com/httpland/range-request-middleware/commit/2509e906f0e8f7a0961740a454ea83826c4d1176))
35+
36+
37+
### Features
38+
39+
* add content-range header and partilize content ([165d180](https://github.com/httpland/range-request-middleware/commit/165d180d63ad432cc60210bd39be60e09ed93c87))
40+
* **bytes:** export BytesRange and add description ([253386f](https://github.com/httpland/range-request-middleware/commit/253386ff8c9ddf5ee423aec4319d213876a02817))
41+
* **content_range:** add content range field deserializer ([0fe7759](https://github.com/httpland/range-request-middleware/commit/0fe775969a9117f8a2a55b402b35de9456e88790))
42+
* **middleware:** add range middleware factory ([1926b02](https://github.com/httpland/range-request-middleware/commit/1926b027502c1666661bc3e012eaf8b0e4faf13f))
43+
* **middleware:** add rangeRequest, contentRange and acceptRanges middleware ([03e8d6b](https://github.com/httpland/range-request-middleware/commit/03e8d6b75a003aaa382f282ee916fbec4ab5b100))
44+
* **mod:** export types of interface ([8687894](https://github.com/httpland/range-request-middleware/commit/8687894131197c1c9a2bb95df29fd7cd7c4487cf))
45+
* **parser:** add range header parser ([4d5a9ab](https://github.com/httpland/range-request-middleware/commit/4d5a9ab3494f7d97b91f8f44bc8be7c0e1eea634))
46+
* **ranges:** add ByteRange implementation ([1741e1d](https://github.com/httpland/range-request-middleware/commit/1741e1d26437bcadd2286f18dc30d6e0c54637c5))
47+
* rename field name to `rangeUnit` from `unit` ([41aa7da](https://github.com/httpland/range-request-middleware/commit/41aa7da5170ffd1a789fa9b5135cd8a5a57c8ee3))
48+
* **transform:** add response transformer for range headers ([0f1700c](https://github.com/httpland/range-request-middleware/commit/0f1700c2cd1bac2d5a0a57ee6419640bcd9398a1))
49+
* **transform:** add to transformer for `accept-ranges` header field ([5f7f226](https://github.com/httpland/range-request-middleware/commit/5f7f2260efde91c7b687dc1938d9c085ecb8eff2))
50+
* **transform:** change Range interface and transform response interface ([ff78387](https://github.com/httpland/range-request-middleware/commit/ff783875603d87702aa69393b31631f71204aacf))
51+
* **types:** add Range API ([50d9eab](https://github.com/httpland/range-request-middleware/commit/50d9eabd343e0108527414e08f7e0565ccee2980))

0 commit comments

Comments
 (0)