Skip to content

Use oxc with example and templates#353

Merged
riku99 merged 13 commits into
mainfrom
chore/use-oxc-with-example-templates
Jan 6, 2026
Merged

Use oxc with example and templates#353
riku99 merged 13 commits into
mainfrom
chore/use-oxc-with-example-templates

Conversation

@riku99
Copy link
Copy Markdown
Contributor

@riku99 riku99 commented Jan 5, 2026

This PR switches example and packages/create-sdk/templates/* to use oxlint and oxfmt. Rules that are not covered by oxlint are still enforced via ESLint. Prettier has been removed so that formatting is handled solely by oxfmt. Previously, .oxfmtrc.json ignored the entire templates/ tree because oxfmt wasn’t used there; now that oxfmt is enabled for templates, the ignore patterns have been narrowed to skip only the generated directories.

This PR includes wide-spread formatting changes (via oxfmt), so many files are touched automatically.
Below is a list of files that were manually changed (configs/scripts), with direct links:

  • .oxfmtrc.json
  • example
    • example/.oxlintrc.json
    • example/eslint.config.js
    • example/package.json
  • packages/create-sdk
    • packages/create-sdk/.oxlintrc.json
    • packages/create-sdk/eslint.config.js
    • packages/create-sdk/package.json
  • packages/create-sdk/templates/hello-world
    • packages/create-sdk/templates/hello-world/.oxlintrc.json
    • packages/create-sdk/templates/hello-world/.oxfmtrc.json
    • packages/create-sdk/templates/hello-world/package.json
  • packages/create-sdk/templates/inventory-management
    • packages/create-sdk/templates/inventory-management/.oxfmtrc.json
    • packages/create-sdk/templates/inventory-management/.oxlintrc.json
    • packages/create-sdk/templates/inventory-management/eslint.config.js
    • packages/create-sdk/templates/inventory-management/package.json
  • packages/create-sdk/templates/multi-application
    • packages/create-sdk/templates/multi-application/.oxfmtrc.json
    • packages/create-sdk/templates/multi-application/.oxlintrc.json
    • packages/create-sdk/templates/multi-application/eslint.config.js
    • packages/create-sdk/templates/multi-application/package.json
  • packages/create-sdk/templates/testing
    • packages/create-sdk/templates/testing/.oxfmtrc.json
    • packages/create-sdk/templates/testing/.oxlintrc.json
    • packages/create-sdk/templates/testing/eslint.config.js
    • packages/create-sdk/templates/testing/package.json

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jan 5, 2026

🦋 Changeset detected

Latest commit: 1b2fae2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@tailor-platform/create-sdk Patch
@tailor-platform/sdk Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Jan 5, 2026

Open in StackBlitz

npm i https://pkg.pr.new/tailor-platform/sdk/@tailor-platform/create-sdk@353

commit: 1b2fae2

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@riku99 riku99 marked this pull request as ready for review January 5, 2026 07:38
@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 5, 2026

Code Metrics Report (packages/sdk)

main (90618d1) #353 (a211460) +/-
Coverage 48.6% 48.6% 0.0%
Code to Test Ratio 1:0.3 1:0.3 0.0
Details
  |                    | main (90618d1) | #353 (a211460) | +/-  |
  |--------------------|----------------|----------------|------|
  | Coverage           |          48.6% |          48.6% | 0.0% |
  |   Files            |            169 |            169 |    0 |
  |   Lines            |           4897 |           4897 |    0 |
  |   Covered          |           2383 |           2383 |    0 |
  | Code to Test Ratio |          1:0.3 |          1:0.3 |  0.0 |
  |   Code             |          26893 |          26893 |    0 |
  |   Test             |           9261 |           9261 |    0 |

SDK Configure Bundle Size

main (90618d1) #353 (a211460) +/-
configure-index-size 2.91KB 2.91KB 0KB
dependency-chunks-size 17.78KB 17.78KB 0KB
total-bundle-size 20.69KB 20.69KB 0KB

Runtime Performance

main (90618d1) #353 (a211460) +/-
Generate Median 2,512ms 2,486ms -26ms
Generate Max 2,519ms 2,511ms -8ms
Apply Build Median 2,829ms 2,794ms -35ms
Apply Build Max 2,894ms 2,820ms -74ms

Type Performance (instantiations)

main (90618d1) #353 (a211460) +/-
tailordb-basic 162,843 162,843 0
tailordb-optional 4,686 4,686 0
tailordb-relation 5,632 5,632 0
tailordb-validate 3,830 3,830 0
tailordb-hooks 6,846 6,846 0
tailordb-object 12,326 12,326 0
tailordb-enum 3,670 3,670 0
resolver-basic 14,196 14,196 0
resolver-nested 30,620 30,620 0
resolver-array 22,868 22,868 0
executor-schedule 11,178 11,178 0
executor-webhook 7,791 7,791 0
executor-record 13,331 13,331 0
executor-resolver 15,397 15,397 0
executor-operation-function 7,769 7,769 0
executor-operation-gql 7,772 7,772 0
executor-operation-webhook 7,785 7,785 0
executor-operation-workflow 9,032 9,032 0

Reported by octocov

Copy link
Copy Markdown
Contributor

@toiroakr toiroakr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically, I think it's good👍

Regarding packages/create-sdk/templates, I thought a simpler rule might be okay, but is it difficult due to the migration from ESLint?
What will stop working if ESLint is removed and only oxlint is used?

@riku99
Copy link
Copy Markdown
Contributor Author

riku99 commented Jan 6, 2026

@toiroakr
We are keeping ESLint because some of the rules currently used in ESLint are not supported by oxlint.
The rules that are currently used in ESLint but not supported by oxlint are listed below.

If it is acceptable to ignore these rules, we can remove ESLint and use oxlint only.

unsupported rule, but available as a nursery rule: getter-return
unsupported rule: no-dupe-args
unsupported rule, but available as a nursery rule: no-misleading-character-class
unsupported rule: no-octal
unsupported rule, but available as a nursery rule: no-undef
unsupported rule, but available as a nursery rule: no-unreachable
unsupported rule: prefer-const
unsupported rule: @typescript-eslint/class-literal-property-style
unsupported rule: @typescript-eslint/consistent-type-assertions
unsupported rule: @typescript-eslint/dot-notation
unsupported rule: @typescript-eslint/prefer-find
unsupported rule: @typescript-eslint/prefer-optional-chain
unsupported rule: @typescript-eslint/prefer-regexp-exec
unsupported rule: @typescript-eslint/prefer-string-starts-ends-with

@toiroakr
Copy link
Copy Markdown
Contributor

toiroakr commented Jan 6, 2026

@riku99
OK.
Let's merge this PR.

@riku99 riku99 merged commit 2f5e2bf into main Jan 6, 2026
17 checks passed
@riku99 riku99 deleted the chore/use-oxc-with-example-templates branch January 6, 2026 00:41
dqn added a commit that referenced this pull request May 19, 2026
…uild

pnpm caches `pkg.pr.new` URLs in three layers (store index DB, lockfile,
hoisted node_modules) and `pnpm install --force` / `update` /
`--fix-lockfile` alone can't pull in a refreshed PR tarball. Adding a
`?v=YYYYMMDD` query parameter to the override URL forces a new cache key.
Bump this value whenever PR #353 is repushed.
dqn added a commit that referenced this pull request May 19, 2026
The previous cache-buster (?v=20260521) ended up serving a stale build
that pre-dated the dedup commit on politty's PR. Bump to ?v=20260522 to
force pnpm to refetch and pick up the `_used_field_keys` tracker that
de-dupes repeated `-f key=value` slots.
dqn added a commit that referenced this pull request May 20, 2026
…be fix

The refreshed build drops the `--` separator before `-S ''` so `_describe`
treats the suffix as a compadd option rather than an additional name
group, restoring the no-trailing-space behavior on `key=` candidates.
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.

2 participants