Skip to content

Commit 304f17c

Browse files
committed
chore(release): 1.0.0 initial release
0 parents  commit 304f17c

26 files changed

+2754
-0
lines changed

.changeset/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changesets
2+
3+
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4+
with multi-package repos, or single-package repos to help you version and publish your code. You can
5+
find the full documentation for it [in our repository](https://github.com/changesets/changesets).
6+
7+
We have a quick list of common questions to get you started engaging with this project in
8+
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md).

.changeset/config.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/config@3.1.3/schema.json",
3+
"changelog": "@changesets/cli/changelog",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"access": "restricted",
8+
"baseBranch": "main",
9+
"updateInternalDependencies": "patch",
10+
"ignore": []
11+
}

.github/workflows/build.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Build
2+
on:
3+
workflow_call:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
quality:
10+
name: quality
11+
uses: ./.github/workflows/lint.yml
12+
13+
test:
14+
name: test
15+
uses: ./.github/workflows/test.yml
16+
17+
build:
18+
name: build
19+
needs: [quality, test]
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- name: Checkout Repository
24+
uses: actions/checkout@v4
25+
with:
26+
fetch-depth: 0
27+
28+
- name: Setup Node.js
29+
uses: actions/setup-node@v4
30+
with:
31+
node-version: 22
32+
33+
- name: Setup Bun
34+
uses: oven-sh/setup-bun@v2
35+
36+
- name: Cache Bun Dependencies
37+
uses: actions/cache@v4
38+
with:
39+
path: ~/.bun/install/cache
40+
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
41+
restore-keys: |
42+
${{ runner.os }}-bun-
43+
44+
- name: Install Dependencies
45+
run: bun install --frozen-lockfile
46+
47+
- name: Build Package
48+
run: bun run build
49+
50+
- name: Upload Build Artifact
51+
uses: actions/upload-artifact@v4
52+
with:
53+
name: build-dist
54+
path: dist
55+
if-no-files-found: error
56+
retention-days: 5

.github/workflows/lint.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Quality
2+
on:
3+
workflow_call:
4+
push:
5+
branches-ignore:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
typecheck:
11+
name: typecheck
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout Repository
16+
uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Setup Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: 22
24+
25+
- name: Setup Bun
26+
uses: oven-sh/setup-bun@v2
27+
28+
- name: Cache Bun Dependencies
29+
uses: actions/cache@v4
30+
with:
31+
path: ~/.bun/install/cache
32+
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
33+
restore-keys: |
34+
${{ runner.os }}-bun-
35+
36+
- name: Install Dependencies
37+
run: bun install --frozen-lockfile
38+
39+
- name: Run Type Checker
40+
run: |
41+
bun run typecheck
42+
43+
lint:
44+
name: lint
45+
runs-on: ubuntu-latest
46+
47+
steps:
48+
- name: Checkout Repository
49+
uses: actions/checkout@v4
50+
with:
51+
fetch-depth: 0
52+
53+
- name: Setup Node.js
54+
uses: actions/setup-node@v4
55+
with:
56+
node-version: 22
57+
58+
- name: Setup Bun
59+
uses: oven-sh/setup-bun@v2
60+
61+
- name: Cache Bun Dependencies
62+
uses: actions/cache@v4
63+
with:
64+
path: ~/.bun/install/cache
65+
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
66+
restore-keys: |
67+
${{ runner.os }}-bun-
68+
69+
- name: Install Dependencies
70+
run: bun install --frozen-lockfile
71+
72+
- name: Run Linter
73+
run: |
74+
bun run lint

.github/workflows/test.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Tests
2+
on:
3+
workflow_call:
4+
push:
5+
branches-ignore:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
test:
11+
name: test
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout Repository
16+
uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Setup Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: 22
24+
25+
- name: Setup Bun
26+
uses: oven-sh/setup-bun@v2
27+
28+
- name: Cache Bun Dependencies
29+
uses: actions/cache@v4
30+
with:
31+
path: ~/.bun/install/cache
32+
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
33+
restore-keys: |
34+
${{ runner.os }}-bun-
35+
36+
- name: Install Dependencies
37+
run: bun install --frozen-lockfile
38+
39+
- name: Run Tests
40+
run: |
41+
bun run test

.gitignore

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# dependencies (bun install)
2+
node_modules
3+
references/
4+
5+
# output
6+
out
7+
dist
8+
*.tgz
9+
10+
# code coverage
11+
coverage
12+
*.lcov
13+
14+
# logs
15+
logs
16+
_.log
17+
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
18+
19+
# dotenv environment variable files
20+
.env
21+
.env.development.local
22+
.env.test.local
23+
.env.production.local
24+
.env.local
25+
26+
# caches
27+
.eslintcache
28+
.cache
29+
*.tsbuildinfo
30+
31+
# IntelliJ based IDEs
32+
.idea
33+
34+
# Finder (MacOS) folder config
35+
.DS_Store

.husky/commit-msg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npx commitlint --edit "$1"

.husky/pre-commit

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
bun run typecheck && bun run lint && bun run test
2+

AGENTS.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# @devscast/zod-openapi
2+
3+
## Validation
4+
5+
Run "bun run format", "bun run lint", "bun run typecheck" and "bun run test" before submitting any changes to ensure code quality and test coverage.
6+
Once validated add a summary of your changes in CHANGELOG.md

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# @devscast/zod-openapi
2+
3+
# 1.0.0 - Initial Release
4+
5+
- Added a decorator-first OpenAPI library built around `@openapi(...)` metadata on controller methods.
6+
- Added controller discovery, route normalization, registry/document generators, and route path helpers for OpenAPI and Express-style paths.
7+
- Added tests covering decorator registration, inherited/static controller methods, OpenAPI 3.0/3.1 document generation, and Zod v4 request body shorthands.
8+
- Added inline source documentation for the public API and replaced the placeholder README with usage guides and migration examples.
9+
- Removed unstable controller glob support and kept the API focused on explicit controller classes and instances.
10+
- Added a build workflow that waits for lint/typecheck and tests to pass before uploading the `dist` artifact with 5-day retention.
11+
- Adjusted workflow triggers so build auto-runs only on pushes to `main`, while lint and test run on pull requests and pushes to all other branches.
12+
- Updated package/build/test configuration for library publishing and scoped validation to the package source instead of the vendored `references/` folder.

0 commit comments

Comments
 (0)