diff --git a/.changeset/add-oxc-toolchain.md b/.changeset/add-oxc-toolchain.md new file mode 100644 index 00000000..82756f21 --- /dev/null +++ b/.changeset/add-oxc-toolchain.md @@ -0,0 +1,5 @@ +--- +"@tanstack/create": patch +--- + +feat: add OXC toolchain (oxlint + oxfmt) for React and Solid frameworks diff --git a/packages/create/src/frameworks/react/toolchains/oxc/assets/_dot_oxfmtrc.json b/packages/create/src/frameworks/react/toolchains/oxc/assets/_dot_oxfmtrc.json new file mode 100644 index 00000000..e3b414c7 --- /dev/null +++ b/packages/create/src/frameworks/react/toolchains/oxc/assets/_dot_oxfmtrc.json @@ -0,0 +1,5 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "all" +} diff --git a/packages/create/src/frameworks/react/toolchains/oxc/assets/_dot_oxlintrc.json b/packages/create/src/frameworks/react/toolchains/oxc/assets/_dot_oxlintrc.json new file mode 100644 index 00000000..dc191399 --- /dev/null +++ b/packages/create/src/frameworks/react/toolchains/oxc/assets/_dot_oxlintrc.json @@ -0,0 +1,14 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["react"], + "categories": { + "correctness": "error" + }, + "rules": { + "react/react-in-jsx-scope": "off" + }, + "env": { + "browser": true, + "node": true + } +} diff --git a/packages/create/src/frameworks/react/toolchains/oxc/info.json b/packages/create/src/frameworks/react/toolchains/oxc/info.json new file mode 100644 index 00000000..c86a0a2e --- /dev/null +++ b/packages/create/src/frameworks/react/toolchains/oxc/info.json @@ -0,0 +1,12 @@ +{ + "name": "OXC", + "description": "OXC toolchain support (oxlint + oxfmt).", + "phase": "setup", + "type": "toolchain", + "category": "tooling", + "exclusive": ["linter"], + "color": "#FF5A1F", + "priority": 3, + "modes": ["code-router", "file-router"], + "link": "https://oxc.rs" +} diff --git a/packages/create/src/frameworks/react/toolchains/oxc/package.json b/packages/create/src/frameworks/react/toolchains/oxc/package.json new file mode 100644 index 00000000..4072932b --- /dev/null +++ b/packages/create/src/frameworks/react/toolchains/oxc/package.json @@ -0,0 +1,11 @@ +{ + "scripts": { + "lint": "oxlint .", + "format": "oxfmt --check .", + "check": "oxfmt --write . && oxlint --fix ." + }, + "devDependencies": { + "oxlint": "^1.0.0", + "oxfmt": "^0.46.0" + } +} diff --git a/packages/create/src/frameworks/react/toolchains/oxc/small-logo.svg b/packages/create/src/frameworks/react/toolchains/oxc/small-logo.svg new file mode 100644 index 00000000..66a99320 --- /dev/null +++ b/packages/create/src/frameworks/react/toolchains/oxc/small-logo.svg @@ -0,0 +1,4 @@ + + + OXC + diff --git a/packages/create/src/frameworks/solid/toolchains/oxc/assets/_dot_oxfmtrc.json b/packages/create/src/frameworks/solid/toolchains/oxc/assets/_dot_oxfmtrc.json new file mode 100644 index 00000000..e3b414c7 --- /dev/null +++ b/packages/create/src/frameworks/solid/toolchains/oxc/assets/_dot_oxfmtrc.json @@ -0,0 +1,5 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "all" +} diff --git a/packages/create/src/frameworks/solid/toolchains/oxc/assets/_dot_oxlintrc.json b/packages/create/src/frameworks/solid/toolchains/oxc/assets/_dot_oxlintrc.json new file mode 100644 index 00000000..5e8991ee --- /dev/null +++ b/packages/create/src/frameworks/solid/toolchains/oxc/assets/_dot_oxlintrc.json @@ -0,0 +1,10 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "categories": { + "correctness": "error" + }, + "env": { + "browser": true, + "node": true + } +} diff --git a/packages/create/src/frameworks/solid/toolchains/oxc/info.json b/packages/create/src/frameworks/solid/toolchains/oxc/info.json new file mode 100644 index 00000000..be392d75 --- /dev/null +++ b/packages/create/src/frameworks/solid/toolchains/oxc/info.json @@ -0,0 +1,11 @@ +{ + "name": "OXC", + "description": "OXC toolchain support (oxlint + oxfmt).", + "phase": "setup", + "type": "toolchain", + "category": "tooling", + "exclusive": ["linter"], + "color": "#FF5A1F", + "modes": ["code-router", "file-router"], + "link": "https://oxc.rs" +} diff --git a/packages/create/src/frameworks/solid/toolchains/oxc/package.json b/packages/create/src/frameworks/solid/toolchains/oxc/package.json new file mode 100644 index 00000000..4072932b --- /dev/null +++ b/packages/create/src/frameworks/solid/toolchains/oxc/package.json @@ -0,0 +1,11 @@ +{ + "scripts": { + "lint": "oxlint .", + "format": "oxfmt --check .", + "check": "oxfmt --write . && oxlint --fix ." + }, + "devDependencies": { + "oxlint": "^1.0.0", + "oxfmt": "^0.46.0" + } +} diff --git a/packages/create/src/frameworks/solid/toolchains/oxc/small-logo.svg b/packages/create/src/frameworks/solid/toolchains/oxc/small-logo.svg new file mode 100644 index 00000000..66a99320 --- /dev/null +++ b/packages/create/src/frameworks/solid/toolchains/oxc/small-logo.svg @@ -0,0 +1,4 @@ + + + OXC +