Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
909f355
chore(ranges): add multipart byteranges utility
TomokiMiyauci Mar 22, 2023
ff78387
feat(transform): change Range interface and transform response interface
TomokiMiyauci Mar 22, 2023
03e8d6b
feat(middleware): add rangeRequest, contentRange and acceptRanges mid…
TomokiMiyauci Mar 22, 2023
c7d6379
test(ranges): add test case
TomokiMiyauci Mar 22, 2023
0fe7759
feat(content_range): add content range field deserializer
TomokiMiyauci Mar 22, 2023
540a2f1
chore: add header license
TomokiMiyauci Mar 22, 2023
ad77c0c
test(middleware): add test case
TomokiMiyauci Mar 22, 2023
b608223
docs: add code block example
TomokiMiyauci Mar 22, 2023
ba67db5
docs: add description of range
TomokiMiyauci Mar 22, 2023
ae290d0
chore: update test import map
TomokiMiyauci Mar 22, 2023
4227802
docs(types): add code comment
TomokiMiyauci Mar 22, 2023
dd6d973
docs(middleware): add code block
TomokiMiyauci Mar 22, 2023
8687894
feat(mod): export types of interface
TomokiMiyauci Mar 22, 2023
5360fba
chore: update lock file
TomokiMiyauci Mar 22, 2023
253386f
feat(bytes): export BytesRange and add description
TomokiMiyauci Mar 22, 2023
41aa7da
feat: rename field name to `rangeUnit` from `unit`
TomokiMiyauci Mar 22, 2023
4e028db
ci: add release workflow
TomokiMiyauci Mar 22, 2023
c718bea
chore(_tools): add npm build script
TomokiMiyauci Mar 22, 2023
1380c2a
chore(deps): up deps
TomokiMiyauci Mar 22, 2023
ed788fb
chore: add release config
TomokiMiyauci Mar 22, 2023
cb9f678
chore(middleware): remove initializing instance at global scope
TomokiMiyauci Mar 24, 2023
aa110c6
chore(release): 1.0.0-beta.1 [skip ci]
semantic-release-bot Mar 24, 2023
2409a96
feat(types): remove object method types
TomokiMiyauci Mar 24, 2023
4e8cff1
docs: fix typo
TomokiMiyauci Mar 24, 2023
28b2da9
feat(types): change range interface, update docs
TomokiMiyauci Mar 25, 2023
16d547e
fix(transform): change the range unit equality to case insensitive
TomokiMiyauci Mar 25, 2023
068dd87
feat(mod): remove unrelated types
TomokiMiyauci Mar 25, 2023
169b15d
feat(content_range): add checking format of content-range header
TomokiMiyauci Mar 25, 2023
be40940
chore(release): 1.0.0-beta.2 [skip ci]
semantic-release-bot Mar 25, 2023
afc8d4e
docs: add description of convert
TomokiMiyauci Mar 25, 2023
43900d8
fix(transform): remove unnecessary requirements
TomokiMiyauci Mar 25, 2023
980f9b4
feat(accept_ranges): add accept-ranges header parser and check that h…
TomokiMiyauci Mar 25, 2023
d42b452
docs: fix typo
TomokiMiyauci Mar 25, 2023
9a9d610
chore: up deps version
TomokiMiyauci Mar 26, 2023
5b6f392
chore(release): 1.0.0-beta.3 [skip ci]
semantic-release-bot Mar 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/codeql-analysis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: "CodeQL"

on:
push:
branches:
- main

pull_request:
branches:
- main

schedule:
- cron: '18 15 * * 2'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'typescript' ]

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v2

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
57 changes: 57 additions & 0 deletions .github/workflows/release-npm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: release-npm

on:
release:
types: [published]

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

strategy:
matrix:
os: [ubuntu-latest]
deno: [v1.x]
node: [16.x]

steps:
- name: Checkout
uses: actions/checkout@v3

- uses: denoland/setup-deno@v1
with:
deno-version: ${{ matrix.deno }}

- name: Cache node_modules
uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-

- uses: pnpm/action-setup@v2.0.1
with:
version: 6.23.6
run_install: |
- recursive: true
args: [--frozen-lockfile, --prefer-offline, --ignore-scripts]

- name: Get tag version
if: startsWith(github.ref, 'refs/tags/')
id: get_tag_version
run: echo ::set-output name=TAG_VERSION::${GITHUB_REF/refs\/tags\//}

- uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}
registry-url: 'https://registry.npmjs.org'

- name: build
run: deno run -A ./_tools/build_npm.ts ${{steps.get_tag_version.outputs.TAG_VERSION}}

- name: publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: deno run -A ./_tools/publish_npm.ts ${{steps.get_tag_version.outputs.TAG_VERSION}}

77 changes: 77 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: release

on:
push:
branches:
- beta
- main

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

strategy:
matrix:
os: [ubuntu-latest]
deno: [v1.x]

steps:
- name: Checkout
uses: actions/checkout@v3

- uses: denoland/setup-deno@v1
with:
deno-version: ${{ matrix.deno }}

- name: Lint
run: |
deno fmt --check
deno lint

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

strategy:
matrix:
os: [ubuntu-latest]
deno: [v1.x]

steps:
- name: Checkout
uses: actions/checkout@v3

- uses: denoland/setup-deno@v1
with:
deno-version: ${{ matrix.deno }}

- name: Test
run: deno task test --coverage=coverage

- name: Generate coverage
run: deno coverage coverage --output=cov_profile.lcov --lcov

- uses: codecov/codecov-action@v3
with:
files: cov_profile.lcov

release:
needs: [lint, test]
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest]

steps:
- name: Checkout
uses: actions/checkout@v3
with:
token: ${{ secrets.GH_TOKEN }}

- uses: cycjimmy/semantic-release-action@v3
with:
extra_plugins: |
@semantic-release/changelog
@semantic-release/git
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
43 changes: 43 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: test

on: push
jobs:
lint:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest, ubuntu-22.04, macos-latest, windows-latest]
deno: [v1.x]

steps:
- name: Checkout
uses: actions/checkout@v3

- uses: denoland/setup-deno@v1
with:
deno-version: ${{ matrix.deno }}

- name: Lint
run: |
deno fmt --check
deno lint

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

strategy:
matrix:
os: [ubuntu-latest, ubuntu-22.04, macos-latest, windows-latest]
deno: [v1.x]

steps:
- name: Checkout
uses: actions/checkout@v3

- uses: denoland/setup-deno@v1
with:
deno-version: ${{ matrix.deno }}

- name: Test
run: deno task test
25 changes: 25 additions & 0 deletions .releaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"branches": [
"main",
{
"name": "beta",
"prerelease": true
}
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/github",
[
"@semantic-release/git",
{
"assets": [
"CHANGELOG.md"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
]
],
"tagFormat": "${version}"
}
51 changes: 51 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# [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)


### Bug Fixes

* **transform:** remove unnecessary requirements ([43900d8](https://github.com/httpland/range-request-middleware/commit/43900d8f423c563541cd2f216fa89825f0d04114))


### Features

* **accept_ranges:** add accept-ranges header parser and check that header is none strictly ([980f9b4](https://github.com/httpland/range-request-middleware/commit/980f9b4b8d6b28460db028fd75a4dd9eaff86950))

# [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)


### Bug Fixes

* **transform:** change the range unit equality to case insensitive ([16d547e](https://github.com/httpland/range-request-middleware/commit/16d547e067a8c61eeb9400c2d49f01f7b2d440fc))


### Features

* **content_range:** add checking format of content-range header ([169b15d](https://github.com/httpland/range-request-middleware/commit/169b15d8d90fadaca9e8161c41c21e9fed84600c))
* **mod:** remove unrelated types ([068dd87](https://github.com/httpland/range-request-middleware/commit/068dd87cdf0870eac0e6534a214423b6d61ca54f))
* **types:** change range interface, update docs ([28b2da9](https://github.com/httpland/range-request-middleware/commit/28b2da91541b60365db43ebdaa7a120ff607cdac))
* **types:** remove object method types ([2409a96](https://github.com/httpland/range-request-middleware/commit/2409a9648e3b68d6e620d75abd261498bf14b2d0))

# 1.0.0-beta.1 (2023-03-24)


### Bug Fixes

* **transform:** change the success status code ([7e789a1](https://github.com/httpland/range-request-middleware/commit/7e789a18076f97d1ea1c27480a5bfa205ea9915e))
* **transform:** fix to change 416 response condition ([2509e90](https://github.com/httpland/range-request-middleware/commit/2509e906f0e8f7a0961740a454ea83826c4d1176))


### Features

* add content-range header and partilize content ([165d180](https://github.com/httpland/range-request-middleware/commit/165d180d63ad432cc60210bd39be60e09ed93c87))
* **bytes:** export BytesRange and add description ([253386f](https://github.com/httpland/range-request-middleware/commit/253386ff8c9ddf5ee423aec4319d213876a02817))
* **content_range:** add content range field deserializer ([0fe7759](https://github.com/httpland/range-request-middleware/commit/0fe775969a9117f8a2a55b402b35de9456e88790))
* **middleware:** add range middleware factory ([1926b02](https://github.com/httpland/range-request-middleware/commit/1926b027502c1666661bc3e012eaf8b0e4faf13f))
* **middleware:** add rangeRequest, contentRange and acceptRanges middleware ([03e8d6b](https://github.com/httpland/range-request-middleware/commit/03e8d6b75a003aaa382f282ee916fbec4ab5b100))
* **mod:** export types of interface ([8687894](https://github.com/httpland/range-request-middleware/commit/8687894131197c1c9a2bb95df29fd7cd7c4487cf))
* **parser:** add range header parser ([4d5a9ab](https://github.com/httpland/range-request-middleware/commit/4d5a9ab3494f7d97b91f8f44bc8be7c0e1eea634))
* **ranges:** add ByteRange implementation ([1741e1d](https://github.com/httpland/range-request-middleware/commit/1741e1d26437bcadd2286f18dc30d6e0c54637c5))
* rename field name to `rangeUnit` from `unit` ([41aa7da](https://github.com/httpland/range-request-middleware/commit/41aa7da5170ffd1a789fa9b5135cd8a5a57c8ee3))
* **transform:** add response transformer for range headers ([0f1700c](https://github.com/httpland/range-request-middleware/commit/0f1700c2cd1bac2d5a0a57ee6419640bcd9398a1))
* **transform:** add to transformer for `accept-ranges` header field ([5f7f226](https://github.com/httpland/range-request-middleware/commit/5f7f2260efde91c7b687dc1938d9c085ecb8eff2))
* **transform:** change Range interface and transform response interface ([ff78387](https://github.com/httpland/range-request-middleware/commit/ff783875603d87702aa69393b31631f71204aacf))
* **types:** add Range API ([50d9eab](https://github.com/httpland/range-request-middleware/commit/50d9eabd343e0108527414e08f7e0565ccee2980))
Loading