Skip to content

Commit f60fc00

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

26 files changed

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

.github/workflows/test.yml

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