@next/eslint-plugin-next 15.3.1 → 15.4.0-canary.1

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.
@@ -0,0 +1,301 @@
1
+ declare const plugin: {
2
+ rules: {
3
+ 'google-font-display': any;
4
+ 'google-font-preconnect': any;
5
+ 'inline-script-id': any;
6
+ 'next-script-for-ga': any;
7
+ 'no-assign-module-variable': any;
8
+ 'no-async-client-component': any;
9
+ 'no-before-interactive-script-outside-document': any;
10
+ 'no-css-tags': any;
11
+ 'no-document-import-in-page': any;
12
+ 'no-duplicate-head': any;
13
+ 'no-head-element': any;
14
+ 'no-head-import-in-document': any;
15
+ 'no-html-link-for-pages': any;
16
+ 'no-img-element': any;
17
+ 'no-page-custom-font': any;
18
+ 'no-script-component-in-head': any;
19
+ 'no-styled-jsx-in-document': any;
20
+ 'no-sync-scripts': any;
21
+ 'no-title-in-document-head': any;
22
+ 'no-typos': any;
23
+ 'no-unwanted-polyfillio': any;
24
+ };
25
+ configs: {
26
+ recommended: {
27
+ plugins: string[];
28
+ rules: {
29
+ '@next/next/google-font-display': string;
30
+ '@next/next/google-font-preconnect': string;
31
+ '@next/next/next-script-for-ga': string;
32
+ '@next/next/no-async-client-component': string;
33
+ '@next/next/no-before-interactive-script-outside-document': string;
34
+ '@next/next/no-css-tags': string;
35
+ '@next/next/no-head-element': string;
36
+ '@next/next/no-html-link-for-pages': string;
37
+ '@next/next/no-img-element': string;
38
+ '@next/next/no-page-custom-font': string;
39
+ '@next/next/no-styled-jsx-in-document': string;
40
+ '@next/next/no-sync-scripts': string;
41
+ '@next/next/no-title-in-document-head': string;
42
+ '@next/next/no-typos': string;
43
+ '@next/next/no-unwanted-polyfillio': string;
44
+ '@next/next/inline-script-id': string;
45
+ '@next/next/no-assign-module-variable': string;
46
+ '@next/next/no-document-import-in-page': string;
47
+ '@next/next/no-duplicate-head': string;
48
+ '@next/next/no-head-import-in-document': string;
49
+ '@next/next/no-script-component-in-head': string;
50
+ };
51
+ };
52
+ 'core-web-vitals': {
53
+ plugins: string[];
54
+ extends: string[];
55
+ rules: {
56
+ '@next/next/no-html-link-for-pages': string;
57
+ '@next/next/no-sync-scripts': string;
58
+ };
59
+ };
60
+ };
61
+ };
62
+ declare const flatConfig: {
63
+ recommended: {
64
+ name: string;
65
+ plugins: {
66
+ '@next/next': {
67
+ rules: {
68
+ 'google-font-display': any;
69
+ 'google-font-preconnect': any;
70
+ 'inline-script-id': any;
71
+ 'next-script-for-ga': any;
72
+ 'no-assign-module-variable': any;
73
+ 'no-async-client-component': any;
74
+ 'no-before-interactive-script-outside-document': any;
75
+ 'no-css-tags': any;
76
+ 'no-document-import-in-page': any;
77
+ 'no-duplicate-head': any;
78
+ 'no-head-element': any;
79
+ 'no-head-import-in-document': any;
80
+ 'no-html-link-for-pages': any;
81
+ 'no-img-element': any;
82
+ 'no-page-custom-font': any;
83
+ 'no-script-component-in-head': any;
84
+ 'no-styled-jsx-in-document': any;
85
+ 'no-sync-scripts': any;
86
+ 'no-title-in-document-head': any;
87
+ 'no-typos': any;
88
+ 'no-unwanted-polyfillio': any;
89
+ };
90
+ configs: {
91
+ recommended: {
92
+ plugins: string[];
93
+ rules: {
94
+ '@next/next/google-font-display': string;
95
+ '@next/next/google-font-preconnect': string;
96
+ '@next/next/next-script-for-ga': string;
97
+ '@next/next/no-async-client-component': string;
98
+ '@next/next/no-before-interactive-script-outside-document': string;
99
+ '@next/next/no-css-tags': string;
100
+ '@next/next/no-head-element': string;
101
+ '@next/next/no-html-link-for-pages': string;
102
+ '@next/next/no-img-element': string;
103
+ '@next/next/no-page-custom-font': string;
104
+ '@next/next/no-styled-jsx-in-document': string;
105
+ '@next/next/no-sync-scripts': string;
106
+ '@next/next/no-title-in-document-head': string;
107
+ '@next/next/no-typos': string;
108
+ '@next/next/no-unwanted-polyfillio': string;
109
+ '@next/next/inline-script-id': string;
110
+ '@next/next/no-assign-module-variable': string;
111
+ '@next/next/no-document-import-in-page': string;
112
+ '@next/next/no-duplicate-head': string;
113
+ '@next/next/no-head-import-in-document': string;
114
+ '@next/next/no-script-component-in-head': string;
115
+ };
116
+ };
117
+ 'core-web-vitals': {
118
+ plugins: string[];
119
+ extends: string[];
120
+ rules: {
121
+ '@next/next/no-html-link-for-pages': string;
122
+ '@next/next/no-sync-scripts': string;
123
+ };
124
+ };
125
+ };
126
+ };
127
+ };
128
+ rules: {
129
+ '@next/next/google-font-display': string;
130
+ '@next/next/google-font-preconnect': string;
131
+ '@next/next/next-script-for-ga': string;
132
+ '@next/next/no-async-client-component': string;
133
+ '@next/next/no-before-interactive-script-outside-document': string;
134
+ '@next/next/no-css-tags': string;
135
+ '@next/next/no-head-element': string;
136
+ '@next/next/no-html-link-for-pages': string;
137
+ '@next/next/no-img-element': string;
138
+ '@next/next/no-page-custom-font': string;
139
+ '@next/next/no-styled-jsx-in-document': string;
140
+ '@next/next/no-sync-scripts': string;
141
+ '@next/next/no-title-in-document-head': string;
142
+ '@next/next/no-typos': string;
143
+ '@next/next/no-unwanted-polyfillio': string;
144
+ '@next/next/inline-script-id': string;
145
+ '@next/next/no-assign-module-variable': string;
146
+ '@next/next/no-document-import-in-page': string;
147
+ '@next/next/no-duplicate-head': string;
148
+ '@next/next/no-head-import-in-document': string;
149
+ '@next/next/no-script-component-in-head': string;
150
+ };
151
+ };
152
+ coreWebVitals: {
153
+ name: string;
154
+ plugins: {
155
+ '@next/next': {
156
+ rules: {
157
+ 'google-font-display': any;
158
+ 'google-font-preconnect': any;
159
+ 'inline-script-id': any;
160
+ 'next-script-for-ga': any;
161
+ 'no-assign-module-variable': any;
162
+ 'no-async-client-component': any;
163
+ 'no-before-interactive-script-outside-document': any;
164
+ 'no-css-tags': any;
165
+ 'no-document-import-in-page': any;
166
+ 'no-duplicate-head': any;
167
+ 'no-head-element': any;
168
+ 'no-head-import-in-document': any;
169
+ 'no-html-link-for-pages': any;
170
+ 'no-img-element': any;
171
+ 'no-page-custom-font': any;
172
+ 'no-script-component-in-head': any;
173
+ 'no-styled-jsx-in-document': any;
174
+ 'no-sync-scripts': any;
175
+ 'no-title-in-document-head': any;
176
+ 'no-typos': any;
177
+ 'no-unwanted-polyfillio': any;
178
+ };
179
+ configs: {
180
+ recommended: {
181
+ plugins: string[];
182
+ rules: {
183
+ '@next/next/google-font-display': string;
184
+ '@next/next/google-font-preconnect': string;
185
+ '@next/next/next-script-for-ga': string;
186
+ '@next/next/no-async-client-component': string;
187
+ '@next/next/no-before-interactive-script-outside-document': string;
188
+ '@next/next/no-css-tags': string;
189
+ '@next/next/no-head-element': string;
190
+ '@next/next/no-html-link-for-pages': string;
191
+ '@next/next/no-img-element': string;
192
+ '@next/next/no-page-custom-font': string;
193
+ '@next/next/no-styled-jsx-in-document': string;
194
+ '@next/next/no-sync-scripts': string;
195
+ '@next/next/no-title-in-document-head': string;
196
+ '@next/next/no-typos': string;
197
+ '@next/next/no-unwanted-polyfillio': string;
198
+ '@next/next/inline-script-id': string;
199
+ '@next/next/no-assign-module-variable': string;
200
+ '@next/next/no-document-import-in-page': string;
201
+ '@next/next/no-duplicate-head': string;
202
+ '@next/next/no-head-import-in-document': string;
203
+ '@next/next/no-script-component-in-head': string;
204
+ };
205
+ };
206
+ 'core-web-vitals': {
207
+ plugins: string[];
208
+ extends: string[];
209
+ rules: {
210
+ '@next/next/no-html-link-for-pages': string;
211
+ '@next/next/no-sync-scripts': string;
212
+ };
213
+ };
214
+ };
215
+ };
216
+ };
217
+ rules: {
218
+ '@next/next/no-html-link-for-pages': string;
219
+ '@next/next/no-sync-scripts': string;
220
+ '@next/next/google-font-display': string;
221
+ '@next/next/google-font-preconnect': string;
222
+ '@next/next/next-script-for-ga': string;
223
+ '@next/next/no-async-client-component': string;
224
+ '@next/next/no-before-interactive-script-outside-document': string;
225
+ '@next/next/no-css-tags': string;
226
+ '@next/next/no-head-element': string;
227
+ '@next/next/no-img-element': string;
228
+ '@next/next/no-page-custom-font': string;
229
+ '@next/next/no-styled-jsx-in-document': string;
230
+ '@next/next/no-title-in-document-head': string;
231
+ '@next/next/no-typos': string;
232
+ '@next/next/no-unwanted-polyfillio': string;
233
+ '@next/next/inline-script-id': string;
234
+ '@next/next/no-assign-module-variable': string;
235
+ '@next/next/no-document-import-in-page': string;
236
+ '@next/next/no-duplicate-head': string;
237
+ '@next/next/no-head-import-in-document': string;
238
+ '@next/next/no-script-component-in-head': string;
239
+ };
240
+ };
241
+ };
242
+ export default plugin;
243
+ export declare const rules: {
244
+ 'google-font-display': any;
245
+ 'google-font-preconnect': any;
246
+ 'inline-script-id': any;
247
+ 'next-script-for-ga': any;
248
+ 'no-assign-module-variable': any;
249
+ 'no-async-client-component': any;
250
+ 'no-before-interactive-script-outside-document': any;
251
+ 'no-css-tags': any;
252
+ 'no-document-import-in-page': any;
253
+ 'no-duplicate-head': any;
254
+ 'no-head-element': any;
255
+ 'no-head-import-in-document': any;
256
+ 'no-html-link-for-pages': any;
257
+ 'no-img-element': any;
258
+ 'no-page-custom-font': any;
259
+ 'no-script-component-in-head': any;
260
+ 'no-styled-jsx-in-document': any;
261
+ 'no-sync-scripts': any;
262
+ 'no-title-in-document-head': any;
263
+ 'no-typos': any;
264
+ 'no-unwanted-polyfillio': any;
265
+ }, configs: {
266
+ recommended: {
267
+ plugins: string[];
268
+ rules: {
269
+ '@next/next/google-font-display': string;
270
+ '@next/next/google-font-preconnect': string;
271
+ '@next/next/next-script-for-ga': string;
272
+ '@next/next/no-async-client-component': string;
273
+ '@next/next/no-before-interactive-script-outside-document': string;
274
+ '@next/next/no-css-tags': string;
275
+ '@next/next/no-head-element': string;
276
+ '@next/next/no-html-link-for-pages': string;
277
+ '@next/next/no-img-element': string;
278
+ '@next/next/no-page-custom-font': string;
279
+ '@next/next/no-styled-jsx-in-document': string;
280
+ '@next/next/no-sync-scripts': string;
281
+ '@next/next/no-title-in-document-head': string;
282
+ '@next/next/no-typos': string;
283
+ '@next/next/no-unwanted-polyfillio': string;
284
+ '@next/next/inline-script-id': string;
285
+ '@next/next/no-assign-module-variable': string;
286
+ '@next/next/no-document-import-in-page': string;
287
+ '@next/next/no-duplicate-head': string;
288
+ '@next/next/no-head-import-in-document': string;
289
+ '@next/next/no-script-component-in-head': string;
290
+ };
291
+ };
292
+ 'core-web-vitals': {
293
+ plugins: string[];
294
+ extends: string[];
295
+ rules: {
296
+ '@next/next/no-html-link-for-pages': string;
297
+ '@next/next/no-sync-scripts': string;
298
+ };
299
+ };
300
+ };
301
+ export { flatConfig };
package/dist/index.js CHANGED
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ configs: function() {
13
+ return configs;
14
+ },
15
+ default: function() {
16
+ return _default;
17
+ },
18
+ flatConfig: function() {
19
+ return flatConfig;
20
+ },
21
+ rules: function() {
22
+ return rules;
23
+ }
24
+ });
2
25
  function _define_property(obj, key, value) {
3
26
  if (key in obj) {
4
27
  Object.defineProperty(obj, key, {
@@ -98,8 +121,7 @@ var plugin = {
98
121
  }
99
122
  }
100
123
  };
101
- module.exports = plugin;
102
- module.exports.flatConfig = {
124
+ var flatConfig = {
103
125
  recommended: {
104
126
  name: 'next/recommended',
105
127
  plugins: {
@@ -115,3 +137,5 @@ module.exports.flatConfig = {
115
137
  rules: _object_spread({}, recommendedRules, coreWebVitalsRules)
116
138
  }
117
139
  };
140
+ var _default = plugin;
141
+ var rules = plugin.rules, configs = plugin.configs;
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@next/eslint-plugin-next",
3
- "version": "15.3.1",
3
+ "version": "15.4.0-canary.1",
4
4
  "description": "ESLint plugin for Next.js.",
5
5
  "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
6
7
  "license": "MIT",
7
8
  "repository": {
8
9
  "url": "vercel/next.js",
@@ -18,7 +19,9 @@
18
19
  "eslint": "8.56.0"
19
20
  },
20
21
  "scripts": {
21
- "build": "swc -d dist src",
22
+ "dev": "pnpm build",
23
+ "build": "swc -d dist src && pnpm types",
24
+ "types": "tsc src/index.ts --skipLibCheck --declaration --emitDeclarationOnly --declarationDir dist",
22
25
  "prepublishOnly": "cd ../../ && turbo run build"
23
26
  }
24
27
  }