Skip to content

Commit 8824c05

Browse files
committed
feat: updating schema to support strict versioning
This change is a material change that impacts projects going forward. We are changing from an enum to a {major}.{minor} regex expression and bundling the spec within a package for convenience. We came to this determination because we needed a way to better support upgrading the specification. This enables us to be able to explicitly support new features as well as potentially add any future breaking ones with out breaking support across the ecosystem or forcing upgrades The new pattern places the specification and builds the documentation from the json schema itself vs having a separate spec. The spec.md is then generated from the schema, so minor.major versions are always compatible and it is easy to validate the spec documents align with the schema.
1 parent 1e0ccf6 commit 8824c05

36 files changed

+4028
-4444
lines changed

.circleci/config.yml

Lines changed: 0 additions & 77 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches-ignore: [master]
6+
pull_request:
7+
8+
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- uses: oven-sh/setup-bun@v2
14+
- run: bun install
15+
- run: bun test
16+
- run: bun run build
17+
- run: bun run lint

.github/workflows/deploy.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Deploy docs to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [master]
6+
7+
permissions:
8+
contents: read
9+
pages: write
10+
id-token: write
11+
12+
concurrency:
13+
group: pages
14+
cancel-in-progress: false
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: oven-sh/setup-bun@v2
22+
with:
23+
bun-version: latest
24+
- run: bun install
25+
- run: bun run build
26+
- uses: actions/jekyll-build-pages@v1
27+
with:
28+
source: docs
29+
destination: ./_site
30+
- uses: actions/upload-pages-artifact@v3
31+
with:
32+
path: ./_site
33+
34+
deploy:
35+
needs: build
36+
runs-on: ubuntu-latest
37+
environment:
38+
name: github-pages
39+
url: ${{ steps.deploy.outputs.page_url }}
40+
steps:
41+
- id: deploy
42+
uses: actions/deploy-pages@v4
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Create Release PR
2+
3+
on:
4+
push:
5+
branches: [master]
6+
7+
jobs:
8+
prepare-release:
9+
if: "!contains(github.event.head_commit.message, 'chore: prepare release')"
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
with:
14+
fetch-depth: 0
15+
token: ${{ secrets.PAT }}
16+
- name: Configure Git
17+
run: |
18+
git config --global user.name "GitHub Actions"
19+
git config --global user.email "[email protected]"
20+
- name: Install Knope
21+
uses: knope-dev/[email protected]
22+
with:
23+
version: 0.22.3
24+
- run: knope prepare-release --verbose
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.PAT }}
27+
continue-on-error: true

.github/workflows/release.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Release
2+
3+
on:
4+
pull_request:
5+
types: [closed]
6+
branches: [master]
7+
8+
jobs:
9+
release:
10+
if: github.head_ref == 'release' && github.event.pull_request.merged == true
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0
16+
- name: Install Knope
17+
uses: knope-dev/[email protected]
18+
with:
19+
version: 0.22.3
20+
- run: knope release --verbose
21+
env:
22+
GITHUB_TOKEN: ${{ secrets.PAT }}
23+
- uses: actions/setup-node@v4
24+
with:
25+
node-version: "24"
26+
registry-url: "https://registry.npmjs.org"
27+
- uses: oven-sh/setup-bun@v2
28+
- run: bun install
29+
- run: bun run build:bundle
30+
- run: npm publish --access public
31+
env:
32+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
.DS_Store
22
build/
3+
dist/
4+
docs/
35
node_modules/
6+
generated/
7+
.vscode/

.markdownlint.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
{
22
"default": true,
33
"MD033": {
4-
"allowed_elements": ["p", "img", "a"]
4+
"allowed_elements": [
5+
"p",
6+
"img",
7+
"a",
8+
"span"
9+
]
510
},
611
"MD013": false,
712
"MD025": false,
8-
"MD004": false
9-
}
13+
"MD004": false,
14+
"MD049": false,
15+
"MD059": false,
16+
"MD060": false
17+
}

.node-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18.13.0
1+
24.11.0

.prettierc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"endOfLine": "lf",
3+
"bracketSameLine": false,
4+
"arrowParens": "always",
5+
"bracketSpacing": true,
6+
"useTabs": false,
7+
"tabWidth": 2,
8+
"printWidth": 100,
9+
"trailingComma": "esnext",
10+
"singleQuote": true,
11+
"semi": true
12+
}

.releaserc

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)