@crossdelta/platform-sdk 0.26.14 → 0.26.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,16 @@ All notable changes to `@crossdelta/platform-sdk` will be documented in this fil
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.26.15] - 2026-11-04
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **The generated `lint-and-tests.yml` follows the workspace workflow again.** The template missed the
|
|
12
|
+
split lint steps (Biome lint, Biome format, custom lint rules and their tests) and the new
|
|
13
|
+
`typecheck` job, which type-checks the affected packages with each package's own tsconfig.
|
|
14
|
+
The sync leaves out what only exists in the source repository: the Biome format step for
|
|
15
|
+
`packages/jackherd` and `packages/pf-mcp`, the custom lint rule steps and the `KNOWN_RED` skip
|
|
16
|
+
list of the typecheck job, so a generated workspace has no step pointing at a missing path.
|
|
17
|
+
|
|
8
18
|
## [0.26.14] - 2026-11-02
|
|
9
19
|
|
|
10
20
|
### Fixed
|
|
@@ -17,7 +17,7 @@ permissions:
|
|
|
17
17
|
contents: read
|
|
18
18
|
pull-requests: read
|
|
19
19
|
|
|
20
|
-
# A draft skips lint and
|
|
20
|
+
# A draft skips lint, test and typecheck under their own check names: GitHub shows the newest check run per
|
|
21
21
|
# name, and a draft push followed at once by `gh pr ready` leaves two runs on one commit, so a
|
|
22
22
|
# skipped "lint" could land after, and hide, the real one. A docs-only PR runs them but skips every
|
|
23
23
|
# step after the file check, so both end as a success and a required check never waits for a run
|
|
@@ -49,9 +49,9 @@ jobs:
|
|
|
49
49
|
cache-restore-keys: bun-v4-$\{{ runner.os }}-
|
|
50
50
|
ignore-scripts: 'true'
|
|
51
51
|
|
|
52
|
-
- name:
|
|
52
|
+
- name: Biome lint
|
|
53
53
|
if: steps.docs-only.outputs.docs_only != 'true'
|
|
54
|
-
run:
|
|
54
|
+
run: bunx biome lint .
|
|
55
55
|
|
|
56
56
|
- name: Component manifest
|
|
57
57
|
if: steps.docs-only.outputs.docs_only != 'true'
|
|
@@ -131,6 +131,64 @@ jobs:
|
|
|
131
131
|
bun run --if-present test
|
|
132
132
|
fi
|
|
133
133
|
|
|
134
|
+
# Types are checked per package with the package's own tsconfig, as `scripts/pre-commit-checks.ts`
|
|
135
|
+
# does. The packages are built first (the install runs the root `prepare`): a package's types
|
|
136
|
+
# resolve through its dependencies' dist.
|
|
137
|
+
typecheck:
|
|
138
|
+
name: $\{{ github.event.pull_request.draft && 'typecheck (draft)' || 'typecheck' }}
|
|
139
|
+
if: github.event.pull_request.draft == false
|
|
140
|
+
runs-on: ubuntu-latest
|
|
141
|
+
timeout-minutes: 15
|
|
142
|
+
steps:
|
|
143
|
+
- name: Checkout code
|
|
144
|
+
uses: actions/checkout@v6
|
|
145
|
+
with:
|
|
146
|
+
fetch-depth: 2
|
|
147
|
+
|
|
148
|
+
- name: Check for docs-only changes
|
|
149
|
+
id: docs-only
|
|
150
|
+
uses: ./.github/actions/pr-docs-only
|
|
151
|
+
with:
|
|
152
|
+
patterns: docs/**/*.md
|
|
153
|
+
github-token: $\{{ github.token }}
|
|
154
|
+
|
|
155
|
+
- name: Setup Bun and install dependencies
|
|
156
|
+
if: steps.docs-only.outputs.docs_only != 'true'
|
|
157
|
+
uses: ./.github/actions/setup-bun-install
|
|
158
|
+
with:
|
|
159
|
+
enable-cache: 'true'
|
|
160
|
+
cache-key: bun-v4-$\{{ runner.os }}-$\{{ hashFiles('bun.lock', 'bunfig.toml') }}
|
|
161
|
+
cache-restore-keys: bun-v4-$\{{ runner.os }}-
|
|
162
|
+
|
|
163
|
+
# Same scope rule as the test job: `turbo ls --affected` names the changed packages and their
|
|
164
|
+
# dependents, and a change to a root file every package reads checks them all.
|
|
165
|
+
- name: Run Typecheck
|
|
166
|
+
if: steps.docs-only.outputs.docs_only != 'true'
|
|
167
|
+
env:
|
|
168
|
+
GLOBAL_PATHS: package.json bunfig.toml tsconfig.json .npmrc .bun-version patches/ .github/workflows/lint-and-tests.yml .github/actions/setup-bun-install/
|
|
169
|
+
TURBO_SCM_BASE: HEAD^1
|
|
170
|
+
TURBO_SCM_HEAD: HEAD
|
|
171
|
+
run: |
|
|
172
|
+
# shellcheck disable=SC2086 # GLOBAL_PATHS is a space-separated pathspec list
|
|
173
|
+
CHANGED=$(git diff --name-only HEAD^1 HEAD -- $GLOBAL_PATHS | head -1)
|
|
174
|
+
if [ -n "$CHANGED" ]; then
|
|
175
|
+
echo "::notice::${CHANGED} changed: typechecking every package."
|
|
176
|
+
PACKAGES=$(bunx turbo ls --output=json | jq -r '.packages.items[].path')
|
|
177
|
+
else
|
|
178
|
+
PACKAGES=$(bunx turbo ls --affected --output=json | jq -r '.packages.items[].path')
|
|
179
|
+
fi
|
|
180
|
+
FAILED=""
|
|
181
|
+
for PACKAGE in $PACKAGES; do
|
|
182
|
+
[ -f "$PACKAGE/tsconfig.json" ] || continue
|
|
183
|
+
echo "::group::tsc $PACKAGE"
|
|
184
|
+
(cd "$PACKAGE" && bunx tsc --noEmit) || FAILED="$FAILED $PACKAGE"
|
|
185
|
+
echo "::endgroup::"
|
|
186
|
+
done
|
|
187
|
+
if [ -n "$FAILED" ]; then
|
|
188
|
+
echo "::error::Type errors in:${FAILED}"
|
|
189
|
+
exit 1
|
|
190
|
+
fi
|
|
191
|
+
|
|
134
192
|
e2e:
|
|
135
193
|
runs-on: ubuntu-latest
|
|
136
194
|
timeout-minutes: 30
|