oxlint-plugin-arch 0.6.2 → 0.7.0

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
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0
4
+
5
+ - Update bundled plugins: `@oxlint/plugins` and `oxlint-plugin-eslint` 1.89, `oxlint-tailwindcss` 1.16, `eslint-plugin-perfectionist` 5.13, `eslint-plugin-tsdoc` 0.5.4 and `@shadcn/lint` 0.2. `@shadcn/lint` now prints a notice when a project's `cn` is older than 0.4 and lints with its bundled `cn` instead.
6
+ - Add a `framework` setting per web root (`tanstack-start` by default, or `next` for the App Router) and a top-level default. Add the generic `reactModulesPreset` and `nextReactModulesPreset`; `tanstackStartReactModulesPreset` equals `reactModulesPreset` with the default framework; apart from the `.illustration.tsx` role below, it keeps its previous output.
7
+ - For `next` roots, apply App Router route policies to pages, layouts and `route.ts` handlers, default Tailwind to `src/app/globals.css`, and ignore `.next/**` and `next-env.d.ts`. Monorepos can mix TanStack Start and Next web roots in one config.
8
+ - Add `modules/next-runtime`: server/client ownership for Next services and lib from file names (`.server`, `.rsc`, `.action`, `.client`) and `'use server'`/`'use client'` directives. Client hooks are rejected in server, RSC and shared modules, named or through a `React` namespace, and `globalThis.window`-style access counts as a bare global. Options: `next.additionalServerOnlyImports`, `next.additionalClientOnlyImports` and `next.computedImportAllowedFiles`.
9
+ - Add `allowedExports` and `inspectExports` to `arch/route-surface`. Defaults keep today's behavior.
10
+ - Next `route.ts` handlers may export HTTP methods and route segment config such as `generateStaticParams`, also through aliases like `export { handler as GET }`, without `no-file-level-helpers` reporting them. Page-only exports such as `metadata` stay rejected there. Next service roots accept `.action.ts` files.
11
+ - Add the `.illustration.tsx` component role for artwork: the shadcn rules allow arbitrary colour, shadow, gradient, background, mask, blur, fill and stroke values there, while type size, tracking, leading, radius and spacing stay on the theme scale. Component contracts and the `components/ui` exemption still apply. `only-export-components` accepts `trailingRoles` so `foo-bar.illustration.tsx` may export `FooBar` as well as the existing `FooBarIllustration`.
12
+ - When the architecture has no backend root, Next web `types/` files own schemas: Zod construction is allowed there and `no-runtime-in-types` does not apply. TanStack Start roots and configurations with a backend keep their previous schema policy.
13
+ - Add `sourceDir` to web, server and runner architecture entries for code outside `src`, such as a Next app with `app/` at the root (`sourceDir: '.'`). Defaults to `src`.
14
+ - Add `formatting: { semi, quotes }` to choose semicolons (`always` or `never`) and quote style (`single` or `double`). Defaults keep today's style.
15
+ - Add `ruleSeverities` to set single preset rules to `error`, `warn` or `off` after the global `severity` and policy callbacks. Rules from Oxlint categories, such as `no-debugger`, are set at the top level.
16
+ - Add `modules.colocatedTypeFiles` to allow listed type files outside `types/`; they follow the backend `types/` contract.
17
+
18
+ ## 0.6.3
19
+
20
+ - Add a trailing comma when `object-multiline` splits an object, so the fix agrees with multiline comma rules.
21
+
22
+ - Add opt-in `ternary-layout` and `call-arguments-multiline` layout rules with configurable thresholds and indentation. Presets remain unchanged.
23
+
3
24
  ## 0.6.2
4
25
 
5
26
  - Export `oxlint-plugin-arch/rules/dillon-anti-slop` and `oxlint-plugin-arch/rules/module-policy` with TypeScript declarations. Resolve the preset's three first-party plugins through public package entry points, without changing rules or policy. Document standalone registration and third-party dependency ownership; verify built exports expose every supporting rule.