Skip to content

Core: oxc formatter + bump all deps to latest#103

Merged
JumpLink merged 3 commits into
mainfrom
feat/oxc-and-deps-latest
Jun 5, 2026
Merged

Core: oxc formatter + bump all deps to latest#103
JumpLink merged 3 commits into
mainfrom
feat/oxc-and-deps-latest

Conversation

@JumpLink
Copy link
Copy Markdown
Owner

@JumpLink JumpLink commented Jun 5, 2026

Modernizes Learn6502's tooling to match gjsify, and brings every dependency to latest.

Formatter: Biome → oxc

gjsify moved its own format/lint/fix off Biome to oxc (oxfmt + oxlint) in 0.4.29; Learn6502 was pinned to the old @gjsify/cli@0.4.14 (Biome). This bumps the CLI and switches engines:

  • New .oxfmtrc.json + .oxlintrc.json, configured to Learn6502's existing style (2-space, double quotes, es5) — an engine swap, not a restyle.
  • Drop biome.json + @biomejs/biome; add oxfmt + oxlint devDeps.
  • formatgjsify format --write (oxc reports by default); add lint/check:lint scripts + a CI Lint step.
  • CSS/JSON formatting is dropped (oxfmt does JS/TS only) — per the chosen direction.
  • 81 files reformatted/auto-fixed (incl. import type conversions). Fixed 4 real correctness errors; for the legitimate DEV_LOG && log() and NS ambient-.d.ts patterns, configured no-unused-expressions: allowShortCircuit + triple-slash-reference: off rather than silencing.

Dependencies → latest

gjsify upgrade --latest across all 7 package.json (all patch/minor/prerelease, no majors): @nativescript/core 9.0.20, @girs/* rc.13→4.0.4, tailwindcss 4.3.0, @gjsify/* 0.4.37, @types/node, postcss, … + aligned 2 inconsistent ranges.

Validation

check:format + lint + tsc green across all workspaces; learn + examples builds pass.

Follow-up: app-android needs an on-device re-validation (the NS + Tailwind bumps) — type-check + Vite build pass, but the emulator render wasn't re-run in this PR.

JumpLink added 3 commits June 5, 2026 14:50
Migrate the formatter from Biome to oxc (oxfmt + oxlint), matching gjsify's own
tooling (gjsify moved off Biome in 0.4.29). Add .oxfmtrc.json + .oxlintrc.json
configured to Learn6502's existing style (2-space, double quotes, es5 — an engine
swap, not a restyle); drop biome.json + @biomejs/biome; add oxfmt + oxlint devDeps.
`format` → `gjsify format --write` (oxc reports by default), + `lint`/`check:lint`
scripts + a CI Lint step. CSS/JSON formatting is dropped (oxfmt does JS/TS only).

81 files reformatted + auto-fixed (incl. import-type conversions). Fixed 4 real
correctness errors (useless escapes, new Array(), interface-extends-Object,
arguments-shadowing); configured no-unused-expressions allowShortCircuit and
triple-slash-reference off for the legitimate `DEV_LOG && log()` and NS ambient
.d.ts patterns rather than silencing them.

Bump ALL deps to latest via `gjsify upgrade --latest` (all patch/minor/prerelease,
no majors): @nativescript/core 9.0.20, @girs/* rc.13→4.0.4, tailwindcss 4.3.0,
@gjsify/* 0.4.37, @types/node, postcss, etc. + aligned 2 inconsistent ranges.

Validated: check:format + lint + type-check green across all workspaces; learn +
examples builds pass. app-android on-device re-validation (NS + Tailwind bump) is a
follow-up.
The @girs/* bump to the 4.0.4 prerelease broke deduplication — a nested
@girs/gjs under @girs/gobject-2.0 duplicated the ambient gjs.d.ts globals
(TS2300/TS2451/TS6200), failing app-gnome's type-check in CI's clean
--immutable install (it passed locally only because of a deduped node_modules).
@Girs 'latest' is an unstable prerelease; keep them at main's resolution while
all other deps stay bumped to latest.
The previous commit wrongly git-rm'd @Girs 4.0.4 cache zips that main's
lockfile references transitively (via @girs/gjs) — keep them committed for
zero-install.
@JumpLink JumpLink merged commit d8be5ed into main Jun 5, 2026
2 checks passed
@JumpLink JumpLink deleted the feat/oxc-and-deps-latest branch June 5, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant