Skip to content

Commit 65bc703

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

25 files changed

+2725
-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/lint.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Quality Assurance
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: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Tests
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

.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: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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+
- Updated package/build/test configuration for library publishing and scoped validation to the package source instead of the vendored `references/` folder.

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
- Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at bernard@devscast.tech. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

0 commit comments

Comments
 (0)