Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 0 additions & 4 deletions .eslintignore

This file was deleted.

61 changes: 0 additions & 61 deletions .eslintrc

This file was deleted.

46 changes: 46 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Release

on:
push:
branches:
- master

permissions:
contents: write

jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
fetch-depth: 0

- name: Setup bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22

- name: Cache bun
uses: actions/cache@v4
with:
path: ~/.bun/install/cache
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
restore-keys: |
bun-${{ runner.os }}-

- name: Install dependencies
run: bun install --frozen-lockfile

- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: bun run semantic-release
93 changes: 93 additions & 0 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Verify

on:
push:
branches:
- master
pull_request:
branches:
- master

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
verify:
name: Verify
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Install dependencies
run: bun install --frozen-lockfile

- name: Typecheck
run: bun run typecheck

- name: Test
run: bun run test

- name: Build
run: bun run build

consumer:
name: Consumer install
runs-on: ubuntu-latest
needs: verify
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Build package tarball
run: |
bun install --frozen-lockfile
bun run build
bun pm pack

- name: Install as a consumer
run: |
mkdir "$HOME/consumer" && cd "$HOME/consumer"
echo '{"name":"consumer","private":true}' > package.json
echo '{"compilerOptions":{"experimentalDecorators":true}}' > tsconfig.json
TGZ=$(ls "$GITHUB_WORKSPACE"/inversify-socket-utils-*.tgz)
bun add "$TGZ" inversify@^7 reflect-metadata socket.io socket.io-client
cp -r "$GITHUB_WORKSPACE/examples" .

- name: Resolve package entries like a consumer
run: |
cd "$HOME/consumer"
node -e "const m = require('inversify-socket-utils'); if (typeof m.InversifySocketServer !== 'function') { throw new Error('require() entry is broken'); }"
bun -e "const m = await import('inversify-socket-utils'); if (typeof m.InversifySocketServer !== 'function') { throw new Error('import entry is broken'); }"

- name: End-to-end check
run: |
cd "$HOME/consumer"
bun run examples/basic/server.ts > server.log 2>&1 &
SERVER_PID=$!
for _ in $(seq 1 30); do
if grep -q "Server is listening" server.log 2>/dev/null; then break; fi
sleep 1
done
set +e
bun run examples/basic/client.ts
CLIENT_EXIT=$?
set -e
sleep 1
cat server.log
kill $SERVER_PID
grep -q "client connected" server.log
grep -q "message received" server.log
grep -q "client disconnected" server.log
exit $CLIENT_EXIT
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,10 @@ coverage
# node-waf configuration
.lock-wscript

# eslint cache
.eslintcache

# dependency directory
node_modules

# only apps should have lockfiles
npm-shrinkwrap.json
yarn.lock
*.tgz
4 changes: 0 additions & 4 deletions .husky/commit-msg

This file was deleted.

4 changes: 0 additions & 4 deletions .husky/pre-commit

This file was deleted.

4 changes: 0 additions & 4 deletions .husky/pre-push

This file was deleted.

9 changes: 0 additions & 9 deletions .prettierignore

This file was deleted.

4 changes: 0 additions & 4 deletions .prettierrc

This file was deleted.

7 changes: 3 additions & 4 deletions .releaserc
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,16 @@
[
"@semantic-release/exec",
{
"prepareCmd": "npm version ${nextRelease.version} --no-git-tag-version --allow-same-version",
"publishCmd": "npm run build"
"prepareCmd": "bun run build"
}
],
"@semantic-release/npm",
[
"@semantic-release/git",
{
"assets": ["package.json"],
"message": "chore(release): ${nextRelease.version} [skip ci]"
}
],
"@semantic-release/npm"
]
]
}
76 changes: 0 additions & 76 deletions CODE_OF_CONDUCT.md

This file was deleted.

Loading
Loading