@baptistecrouzet/nuxt-oxlint 1.1.4
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/LICENSE.md +9 -0
- package/README.md +279 -0
- package/dist/module.d.mts +28 -0
- package/dist/module.json +9 -0
- package/dist/module.mjs +60 -0
- package/dist/runtime/plugin.d.ts +1 -0
- package/dist/runtime/plugin.js +0 -0
- package/dist/runtime/server/tsconfig.json +3 -0
- package/dist/types.d.mts +3 -0
- package/package.json +70 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026-Present - Baptiste Crouzet pro.baptiste.crouzet@gmail.com
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# Nuxt Oxlint
|
|
2
|
+
|
|
3
|
+
[![npm version][npm-version-src]][npm-version-href]
|
|
4
|
+
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
5
|
+
[![License][license-src]][license-href]
|
|
6
|
+
[![Nuxt][nuxt-src]][nuxt-href]
|
|
7
|
+
|
|
8
|
+
> Integrate [Oxlint](https://oxc.rs/docs/guide/usage/linter.html) into your Nuxt project — and see lint output directly in the dev server terminal on every save.
|
|
9
|
+
|
|
10
|
+
<div align="center">
|
|
11
|
+
|
|
12
|
+
<img src="./docs/screenshots/MainNuxtOxlint.png" alt="Nuxt Oxlint" width="820"/>
|
|
13
|
+
|
|
14
|
+
<br/>
|
|
15
|
+
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
Heavily inspired by [`@nuxt/eslint`](https://eslint.nuxt.com), but built for **Oxlint**: a Rust-powered linter built on the Oxc compiler stack, that is orders of magnitude faster than ESLint.
|
|
19
|
+
|
|
20
|
+
<!-- - [🏀 Online playground](https://stackblitz.com/github/BaptisteCrouzet/nuxt-oxlint?file=playground%2Fapp.vue) -->
|
|
21
|
+
|
|
22
|
+
## Features
|
|
23
|
+
|
|
24
|
+
- ⚡ **Fast** — Oxlint is written in Rust and runs in milliseconds even on large codebases (50 to 100 times faster than ESLint ([`see benchmarks`](https://github.com/oxc-project/bench-linter))
|
|
25
|
+
- 🖥 **Dev server output** — lint results appear directly in the terminal at every file save, without leaving your editor
|
|
26
|
+
- 🔧 **Fully configurable** — exposes all `vite-plugin-oxlint` options (config file, rules, format, auto-fix…)
|
|
27
|
+
- 🚫 **Zero runtime overhead** — dev-only, nothing shipped to the browser
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Table of contents
|
|
31
|
+
|
|
32
|
+
- [How it works](#how-it-works)
|
|
33
|
+
- [Requirements](#requirements)
|
|
34
|
+
- [Quick Setup](#quick-setup)
|
|
35
|
+
- [Configuration](#configuration)
|
|
36
|
+
- [Available options](#available-options)
|
|
37
|
+
- [Migrating from @nuxt/eslint](#migrating-from-nuxeslint)
|
|
38
|
+
- [Roadmap](#roadmap)
|
|
39
|
+
- [Contribution](#contribution)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## How it works
|
|
43
|
+
|
|
44
|
+
`nuxt-oxlint` wraps [`vite-plugin-oxlint`](https://github.com/52-entertainment/vite-plugin-oxlint) and registers it inside Nuxt's Vite pipeline via `addVitePlugin`. On every file change detected by the Vite watcher, Oxlint is spawned on the modified file and its output is printed in the dev server terminal.
|
|
45
|
+
|
|
46
|
+
## Requirements
|
|
47
|
+
|
|
48
|
+
- Nuxt ≥ 4 (Nuxt 4 with `compatibilityVersion: 5` not tested but accepted)
|
|
49
|
+
- [`oxlint`](https://npmx.dev/package/oxlint) installed in your project as a dev dependency
|
|
50
|
+
|
|
51
|
+
## Quick Setup
|
|
52
|
+
|
|
53
|
+
1. Install the module and the oxlint binary
|
|
54
|
+
```bash
|
|
55
|
+
pnpm add -D @baptistecrouzet/nuxt-oxlint oxlint
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
2. Add it to your nuxt.config.ts
|
|
59
|
+
```ts
|
|
60
|
+
// nuxt.config.ts
|
|
61
|
+
export default defineNuxtConfig({
|
|
62
|
+
modules: ['nuxt-oxlint'],
|
|
63
|
+
oxlint: {
|
|
64
|
+
checker: true, // enable with defaults
|
|
65
|
+
},
|
|
66
|
+
})
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
That's it ! Start your dev server and oxlint will run on every save.
|
|
70
|
+
|
|
71
|
+
## Configuration
|
|
72
|
+
|
|
73
|
+
All options live under the `oxlint` key in `nuxt.config.ts`.
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
// nuxt.config.ts
|
|
77
|
+
export default defineNuxtConfig({
|
|
78
|
+
modules: ['nuxt-oxlint'],
|
|
79
|
+
|
|
80
|
+
oxlint: {
|
|
81
|
+
// Set to `true` to enable with defaults, or pass an options object.
|
|
82
|
+
checker: {
|
|
83
|
+
// Path to an oxlint config file (default: oxlintrc.json)
|
|
84
|
+
// it can also be oxlint.config.ts or vite.config.ts
|
|
85
|
+
// See : https://oxc.rs/docs/guide/usage/linter/config.html
|
|
86
|
+
configFile: '.oxlintrc.json',
|
|
87
|
+
|
|
88
|
+
// Directory to lint (default: project root as '.')
|
|
89
|
+
path: 'app',
|
|
90
|
+
|
|
91
|
+
// For your glob patterns or files to ignore
|
|
92
|
+
// ignorePattern: 'path/to/dummy/files/beeing/never/linted.ts'
|
|
93
|
+
|
|
94
|
+
// Rules to enable / disable / warn
|
|
95
|
+
// See : https://oxc.rs/docs/guide/usage/linter/rules.html
|
|
96
|
+
allow: ['debugger'],
|
|
97
|
+
deny: ['correctness'],
|
|
98
|
+
warn: ['suspicious'],
|
|
99
|
+
|
|
100
|
+
// Path to the oxlint binary (useful in monorepos)
|
|
101
|
+
// oxlintPath: '/path/to/node_modules/.bin/oxlint',
|
|
102
|
+
|
|
103
|
+
// Output format: default | stylish | github | gitlab | json | unix | ...
|
|
104
|
+
// See : https://oxc.rs/docs/guide/usage/linter/output-formats.html
|
|
105
|
+
format: 'default',
|
|
106
|
+
|
|
107
|
+
// Suppress warnings, only report errors (default: false)
|
|
108
|
+
// Same as running : oxlint --quiet
|
|
109
|
+
quiet: false,
|
|
110
|
+
|
|
111
|
+
// Attempt an auto-fix on triggered rules, if an autofix exists
|
|
112
|
+
fix: false
|
|
113
|
+
|
|
114
|
+
// Fail the dev build on lint errors (default: false)
|
|
115
|
+
failOnError: false,
|
|
116
|
+
|
|
117
|
+
// Fail the dev build on lint warnings (default: false)
|
|
118
|
+
failOnWarning: false,
|
|
119
|
+
|
|
120
|
+
// Run oxlint when the dev server starts (default: true)
|
|
121
|
+
lintOnStart: true,
|
|
122
|
+
|
|
123
|
+
// CLI flags additionnaly passed to oxlint
|
|
124
|
+
// See : https://oxc.rs/docs/guide/usage/linter/cli.html
|
|
125
|
+
// params: '--report-unused-disable-directives --type-aware'
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
// Display the path to the oxlint config file in the terminal when the dev server starts
|
|
129
|
+
displayConfigfileOnStart: false,
|
|
130
|
+
})
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Available options
|
|
134
|
+
|
|
135
|
+
All options from [`vite-plugin-oxlint`](https://github.com/52-entertainment/vite-plugin-oxlint#options) are supported:
|
|
136
|
+
|
|
137
|
+
| Option | Type | Default | Description |
|
|
138
|
+
|---|---|---|---|
|
|
139
|
+
| `configFile` | `string` | `oxlintrc.json` | Path to the oxlint config file |
|
|
140
|
+
| `path` | `string` | `.` | Directory where oxlint runs |
|
|
141
|
+
| `ignorePattern` | `string \| string[]` | — | Glob patterns to ignore |
|
|
142
|
+
| `allow` | `string[]` | — | Rules/categories to turn off |
|
|
143
|
+
| `deny` | `string[]` | — | Rules/categories to turn on |
|
|
144
|
+
| `warn` | `string[]` | — | Rules/categories to warn |
|
|
145
|
+
| `oxlintPath` | `string` | — | Explicit path to the oxlint binary |
|
|
146
|
+
| `format` | `string` | `default` | Output format |
|
|
147
|
+
| `quiet` | `boolean` | `false` | Only report errors |
|
|
148
|
+
| `fix` | `boolean` | `false` | Auto-fix issues |
|
|
149
|
+
| `failOnError` | `boolean` | `false` | Fail build on errors |
|
|
150
|
+
| `failOnWarning` | `boolean` | `false` | Fail build on warnings |
|
|
151
|
+
| `lintOnStart` | `boolean` | `true` | Lint all files on dev server start |
|
|
152
|
+
| `params` | `string` | — | Extra raw CLI flags |
|
|
153
|
+
|
|
154
|
+
## Migrating from `@nuxt/eslint`
|
|
155
|
+
|
|
156
|
+
### 1. Swap the packages
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
pnpm remove @nuxt/eslint
|
|
160
|
+
pnpm add -D nuxt-oxlint oxlint
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 2. Update `nuxt.config.ts`
|
|
164
|
+
|
|
165
|
+
```diff
|
|
166
|
+
export default defineNuxtConfig({
|
|
167
|
+
modules: [
|
|
168
|
+
- '@nuxt/eslint',
|
|
169
|
+
+ 'nuxt-oxlint',
|
|
170
|
+
],
|
|
171
|
+
- eslint: {
|
|
172
|
+
- checker: true,
|
|
173
|
+
- },
|
|
174
|
+
+ oxlint: {
|
|
175
|
+
+ checker: true,
|
|
176
|
+
+ },
|
|
177
|
+
})
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 3. (Optional) Keep ESLint for rules not yet covered by Oxlint
|
|
181
|
+
|
|
182
|
+
Oxlint covers [more than 840 rules](https://oxc.rs/docs/guide/usage/linter/rules.html) out of the box, including popular plugins.
|
|
183
|
+
If you still rely on ESLint plugins that Oxlint doesn't support yet, you can run both in parallel:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
pnpm add -D @nuxt/eslint eslint-plugin-oxlint
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
```ts
|
|
190
|
+
// nuxt.config.ts
|
|
191
|
+
export default defineNuxtConfig({
|
|
192
|
+
modules: ['@nuxt/eslint', 'nuxt-oxlint'],
|
|
193
|
+
eslint: { checker: true },
|
|
194
|
+
oxlint: { checker: true },
|
|
195
|
+
})
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Then add [`eslint-plugin-oxlint`](https://github.com/oxc-project/eslint-plugin-oxlint) to your ESLint config to automatically turn off rules already handled by Oxlint — avoiding double reports:
|
|
199
|
+
|
|
200
|
+
```js
|
|
201
|
+
// eslint.config.mjs
|
|
202
|
+
import oxlint from 'eslint-plugin-oxlint'
|
|
203
|
+
|
|
204
|
+
export default [
|
|
205
|
+
// … your other rules
|
|
206
|
+
...oxlint.buildFromOxlintConfigFile('.oxlintrc.json'),
|
|
207
|
+
]
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Roadmap
|
|
211
|
+
|
|
212
|
+
It could be better to go further :
|
|
213
|
+
|
|
214
|
+
- Add a nuxt devtool tab in order to edit the config in live
|
|
215
|
+
- Display some toggles for enabled categories (and the amount of corresponding rules)
|
|
216
|
+
- Display the configFile used
|
|
217
|
+
- Add two butons : "Save to config file" / "Save to nuxt.config"
|
|
218
|
+
- button "reset to defaults"
|
|
219
|
+
- button "Re-lint now"
|
|
220
|
+
- button "Try to fix fixable things"
|
|
221
|
+
- Add a tool for migrating from eslint in devtools
|
|
222
|
+
- Display the number of supported rules
|
|
223
|
+
- Display the numer of not supported rules
|
|
224
|
+
- Display the unsupported configuration entries or options
|
|
225
|
+
- Display the transposed configuration
|
|
226
|
+
- Add a button or script helping to switch to Oxlint
|
|
227
|
+
- Explore typecheck option of oxlint and add some hints in the readme or warnings if needed
|
|
228
|
+
- Display a summary bar: X errors, Y warnings, Z files
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
## Contribution
|
|
232
|
+
|
|
233
|
+
<details>
|
|
234
|
+
<summary>Local development</summary>
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
# Install dependencies
|
|
238
|
+
pnpm install
|
|
239
|
+
|
|
240
|
+
# Generate type stubs
|
|
241
|
+
pnpm dev:prepare
|
|
242
|
+
|
|
243
|
+
# Develop with the playground
|
|
244
|
+
pnpm dev
|
|
245
|
+
|
|
246
|
+
# Build the module
|
|
247
|
+
pnpm prepack
|
|
248
|
+
|
|
249
|
+
# Run ESLint
|
|
250
|
+
pnpm lint
|
|
251
|
+
|
|
252
|
+
# Run Vitest
|
|
253
|
+
pnpm test
|
|
254
|
+
pnpm test:watch
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
</details>
|
|
258
|
+
|
|
259
|
+
<details>
|
|
260
|
+
<summary>Contributing</summary>
|
|
261
|
+
|
|
262
|
+
* Conventional commits are required
|
|
263
|
+
* This is not an official Nuxt module
|
|
264
|
+
* Be kind
|
|
265
|
+
|
|
266
|
+
</details>
|
|
267
|
+
|
|
268
|
+
<!-- Badges -->
|
|
269
|
+
[npm-version-src]: https://img.shields.io/npm/v/nuxt-oxlint/latest.svg?style=flat&colorA=020420&colorB=00DC82
|
|
270
|
+
[npm-version-href]: https://npmjs.com/package/nuxt-oxlint
|
|
271
|
+
|
|
272
|
+
[npm-downloads-src]: https://img.shields.io/npm/dm/nuxt-oxlint.svg?style=flat&colorA=020420&colorB=00DC82
|
|
273
|
+
[npm-downloads-href]: https://npmjs.com/package/nuxt-oxlint
|
|
274
|
+
|
|
275
|
+
[license-src]: https://img.shields.io/npm/l/nuxt-oxlint.svg?style=flat&colorA=020420&colorB=00DC82
|
|
276
|
+
[license-href]: https://npmjs.com/package/nuxt-oxlint
|
|
277
|
+
|
|
278
|
+
[nuxt-src]: https://img.shields.io/badge/Nuxt-020420?logo=nuxt.js
|
|
279
|
+
[nuxt-href]: https://nuxt.com
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
import oxlintPlugin from 'vite-plugin-oxlint';
|
|
3
|
+
|
|
4
|
+
type CheckerOptions = NonNullable<Parameters<typeof oxlintPlugin>[0]>;
|
|
5
|
+
interface ModuleOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Enable the oxlint checker in the Vite dev server.
|
|
8
|
+
* Set to `true` to use defaults, or pass an options object to customize.
|
|
9
|
+
*
|
|
10
|
+
* Requires `oxlint` to be installed in the project.
|
|
11
|
+
* @see https://github.com/52-entertainment/vite-plugin-oxlint for available and default options.
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
checker?: boolean | CheckerOptions;
|
|
15
|
+
/**
|
|
16
|
+
* Display the path to the oxlint config file in the terminal when the dev server starts.
|
|
17
|
+
* Attempts to find common config file names in the project root directory.
|
|
18
|
+
* This can help confirm that the correct config file is being used.
|
|
19
|
+
* @see findConfigFile function for the list of config file names that are checked.
|
|
20
|
+
* @default false
|
|
21
|
+
* @remarks This option only affects the display of the config file path in the terminal. It does not affect whether the checker is enabled or how it functions.
|
|
22
|
+
*/
|
|
23
|
+
displayConfigfileOnStart?: boolean;
|
|
24
|
+
}
|
|
25
|
+
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
|
26
|
+
|
|
27
|
+
export { _default as default };
|
|
28
|
+
export type { CheckerOptions, ModuleOptions };
|
package/dist/module.json
ADDED
package/dist/module.mjs
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defineNuxtModule, useLogger, addVitePlugin } from '@nuxt/kit';
|
|
2
|
+
import { promises } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
|
|
5
|
+
const module$1 = defineNuxtModule({
|
|
6
|
+
meta: {
|
|
7
|
+
name: "nuxt-oxlint",
|
|
8
|
+
configKey: "oxlint"
|
|
9
|
+
},
|
|
10
|
+
defaults: {
|
|
11
|
+
checker: false,
|
|
12
|
+
displayConfigfileOnStart: false
|
|
13
|
+
},
|
|
14
|
+
async setup(options, nuxt) {
|
|
15
|
+
if (!options.checker || !nuxt.options.dev) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const logger = useLogger("nuxt:oxlint");
|
|
19
|
+
if (nuxt.options.builder !== "@nuxt/vite-builder") {
|
|
20
|
+
logger.warn("nuxt-oxlint checker only supports the Vite builder. Checker will not be enabled.");
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const checkerOptions = typeof options.checker === "object" ? options.checker : {};
|
|
24
|
+
if (options.displayConfigfileOnStart) {
|
|
25
|
+
await logConfigFilePath(logger, checkerOptions.configFile || null, nuxt.options.rootDir);
|
|
26
|
+
}
|
|
27
|
+
const vitePluginOxlint = await import('vite-plugin-oxlint').then(
|
|
28
|
+
(m) => "default" in m ? m.default : m
|
|
29
|
+
);
|
|
30
|
+
addVitePlugin(() => vitePluginOxlint(checkerOptions), { server: false });
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
async function findConfigFile(rootDir) {
|
|
34
|
+
const configFiles = [".oxlintrc", ".oxlintrc.json", ".oxlintrc.js", "oxlint.config.js", "config/oxlint.config.js"];
|
|
35
|
+
return new Promise((resolve) => {
|
|
36
|
+
for (const fileName of configFiles) {
|
|
37
|
+
const filePath = join(rootDir, fileName);
|
|
38
|
+
promises.access(filePath).then(() => {
|
|
39
|
+
resolve(filePath);
|
|
40
|
+
}).catch(() => {
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
resolve(null);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async function logConfigFilePath(logger, filePath, rootDir) {
|
|
47
|
+
try {
|
|
48
|
+
const configFilePath = await findConfigFile(rootDir);
|
|
49
|
+
if (configFilePath) {
|
|
50
|
+
logger.info(`Using oxlint config file: ${configFilePath}`);
|
|
51
|
+
} else {
|
|
52
|
+
logger.info("No oxlint config file found in the project root.");
|
|
53
|
+
logger.info(`Using oxlint defaults. You can create a config file in the project root to customize the behavior.`);
|
|
54
|
+
}
|
|
55
|
+
} catch (error) {
|
|
56
|
+
logger.error("Error finding oxlint config file:", error);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { module$1 as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
package/dist/types.d.mts
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@baptistecrouzet/nuxt-oxlint",
|
|
3
|
+
"version": "1.1.4",
|
|
4
|
+
"description": "Nuxt module for OXLint, a linting tool for Nuxt projects. Help developers to switch to Oxlint",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/BaptisteCrouzet/nuxt-oxlint.git"
|
|
8
|
+
},
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"type": "module",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/types.d.mts",
|
|
14
|
+
"import": "./dist/module.mjs"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"main": "./dist/module.mjs",
|
|
18
|
+
"typesVersions": {
|
|
19
|
+
"*": {
|
|
20
|
+
".": [
|
|
21
|
+
"./dist/types.d.mts"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"dist"
|
|
27
|
+
],
|
|
28
|
+
"workspaces": [
|
|
29
|
+
"playground"
|
|
30
|
+
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"prepack": "nuxt-module-build build",
|
|
33
|
+
"dev": "npm run dev:prepare && nuxt dev playground",
|
|
34
|
+
"dev:build": "nuxt build playground",
|
|
35
|
+
"dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxt prepare playground",
|
|
36
|
+
"publish:check-auth": "npm whoami --registry=https://registry.npmjs.org && npm whoami --registry=https://npm.pkg.github.com",
|
|
37
|
+
"publish:dry-run:npm": "npm publish --dry-run --access public --registry=https://registry.npmjs.org",
|
|
38
|
+
"publish:dry-run:github": "npm publish --dry-run --registry=https://npm.pkg.github.com --@baptistecrouzet:registry=https://npm.pkg.github.com",
|
|
39
|
+
"publish:npm": "npm publish --access public --registry=https://registry.npmjs.org",
|
|
40
|
+
"publish:github": "npm publish --registry=https://npm.pkg.github.com --@baptistecrouzet:registry=https://npm.pkg.github.com",
|
|
41
|
+
"publish:all": "npm run publish:check-auth && npm run publish:npm && npm run publish:github",
|
|
42
|
+
"release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm run publish:all && git push --follow-tags",
|
|
43
|
+
"lint": "eslint .",
|
|
44
|
+
"test": "vitest run",
|
|
45
|
+
"test:watch": "vitest watch",
|
|
46
|
+
"test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"oxlint": ">=0.9.0"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@nuxt/kit": "^4.4.8",
|
|
53
|
+
"vite-plugin-oxlint": "^2.1.2"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@nuxt/devtools": "^3.2.4",
|
|
57
|
+
"@nuxt/eslint-config": "^1.16.0",
|
|
58
|
+
"@nuxt/module-builder": "^1.0.2",
|
|
59
|
+
"@nuxt/schema": "^4.4.8",
|
|
60
|
+
"@nuxt/test-utils": "^4.0.3",
|
|
61
|
+
"@types/node": "latest",
|
|
62
|
+
"changelogen": "^0.6.2",
|
|
63
|
+
"eslint": "^10.6.0",
|
|
64
|
+
"nuxt": "^4.4.8",
|
|
65
|
+
"oxlint": "^1.73.0",
|
|
66
|
+
"typescript": "~6.0.3",
|
|
67
|
+
"vitest": "^4.1.10",
|
|
68
|
+
"vue-tsc": "^3.3.7"
|
|
69
|
+
}
|
|
70
|
+
}
|