oxlint-plugin-eslint 1.52.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/LICENSE +22 -0
- package/README.md +36 -0
- package/common/ast-utils.cjs +5843 -0
- package/common/chunk.cjs +9 -0
- package/common/eslint-utils.cjs +1633 -0
- package/common/fix-tracker.cjs +89 -0
- package/common/ignore.cjs +123 -0
- package/common/keywords.cjs +15 -0
- package/common/regexpp.cjs +1720 -0
- package/common/regular-expressions.cjs +40 -0
- package/common/string-utils.cjs +39 -0
- package/index.js +7477 -0
- package/package.json +34 -0
- package/rules/accessor-pairs.cjs +233 -0
- package/rules/array-bracket-newline.cjs +172 -0
- package/rules/array-bracket-spacing.cjs +184 -0
- package/rules/array-callback-return.cjs +262 -0
- package/rules/array-element-newline.cjs +178 -0
- package/rules/arrow-body-style.cjs +135 -0
- package/rules/arrow-parens.cjs +130 -0
- package/rules/arrow-spacing.cjs +129 -0
- package/rules/block-scoped-var.cjs +101 -0
- package/rules/block-spacing.cjs +125 -0
- package/rules/brace-style.cjs +141 -0
- package/rules/callback-return.cjs +117 -0
- package/rules/camelcase.cjs +194 -0
- package/rules/capitalized-comments.cjs +168 -0
- package/rules/class-methods-use-this.cjs +155 -0
- package/rules/comma-dangle.cjs +274 -0
- package/rules/comma-spacing.cjs +111 -0
- package/rules/comma-style.cjs +180 -0
- package/rules/complexity.cjs +100 -0
- package/rules/computed-property-spacing.cjs +155 -0
- package/rules/consistent-return.cjs +113 -0
- package/rules/consistent-this.cjs +109 -0
- package/rules/constructor-super.cjs +207 -0
- package/rules/curly.cjs +173 -0
- package/rules/default-case-last.cjs +36 -0
- package/rules/default-case.cjs +50 -0
- package/rules/default-param-last.cjs +61 -0
- package/rules/dot-location.cjs +87 -0
- package/rules/dot-notation.cjs +77 -0
- package/rules/eol-last.cjs +91 -0
- package/rules/eqeqeq.cjs +127 -0
- package/rules/for-direction.cjs +94 -0
- package/rules/func-call-spacing.cjs +127 -0
- package/rules/func-name-matching.cjs +138 -0
- package/rules/func-names.cjs +121 -0
- package/rules/func-style.cjs +103 -0
- package/rules/function-call-argument-newline.cjs +109 -0
- package/rules/function-paren-newline.cjs +173 -0
- package/rules/generator-star-spacing.cjs +174 -0
- package/rules/getter-return.cjs +129 -0
- package/rules/global-require.cjs +84 -0
- package/rules/grouped-accessor-pairs.cjs +146 -0
- package/rules/guard-for-in.cjs +39 -0
- package/rules/handle-callback-err.cjs +86 -0
- package/rules/id-blacklist.cjs +135 -0
- package/rules/id-denylist.cjs +126 -0
- package/rules/id-length.cjs +119 -0
- package/rules/id-match.cjs +139 -0
- package/rules/implicit-arrow-linebreak.cjs +76 -0
- package/rules/indent-legacy.cjs +520 -0
- package/rules/indent.cjs +842 -0
- package/rules/init-declarations.cjs +88 -0
- package/rules/jsx-quotes.cjs +84 -0
- package/rules/key-spacing.cjs +399 -0
- package/rules/keyword-spacing.cjs +464 -0
- package/rules/line-comment-position.cjs +75 -0
- package/rules/linebreak-style.cjs +89 -0
- package/rules/lines-around-comment.cjs +290 -0
- package/rules/lines-around-directive.cjs +129 -0
- package/rules/lines-between-class-members.cjs +212 -0
- package/rules/logical-assignment-operators.cjs +305 -0
- package/rules/max-classes-per-file.cjs +61 -0
- package/rules/max-depth.cjs +117 -0
- package/rules/max-len.cjs +256 -0
- package/rules/max-lines-per-function.cjs +116 -0
- package/rules/max-lines.cjs +109 -0
- package/rules/max-nested-callbacks.cjs +78 -0
- package/rules/max-params.cjs +78 -0
- package/rules/max-statements-per-line.cjs +147 -0
- package/rules/max-statements.cjs +119 -0
- package/rules/multiline-comment-style.cjs +319 -0
- package/rules/multiline-ternary.cjs +106 -0
- package/rules/new-cap.cjs +139 -0
- package/rules/new-parens.cjs +70 -0
- package/rules/newline-after-var.cjs +159 -0
- package/rules/newline-before-return.cjs +128 -0
- package/rules/newline-per-chained-call.cjs +100 -0
- package/rules/no-alert.cjs +84 -0
- package/rules/no-array-constructor.cjs +91 -0
- package/rules/no-async-promise-executor.cjs +33 -0
- package/rules/no-await-in-loop.cjs +75 -0
- package/rules/no-bitwise.cjs +106 -0
- package/rules/no-buffer-constructor.cjs +51 -0
- package/rules/no-caller.cjs +34 -0
- package/rules/no-case-declarations.cjs +56 -0
- package/rules/no-catch-shadow.cjs +57 -0
- package/rules/no-class-assign.cjs +55 -0
- package/rules/no-compare-neg-zero.cjs +52 -0
- package/rules/no-cond-assign.cjs +104 -0
- package/rules/no-confusing-arrow.cjs +87 -0
- package/rules/no-console.cjs +138 -0
- package/rules/no-const-assign.cjs +50 -0
- package/rules/no-constant-binary-expression.cjs +284 -0
- package/rules/no-constant-condition.cjs +119 -0
- package/rules/no-constructor-return.cjs +43 -0
- package/rules/no-continue.cjs +33 -0
- package/rules/no-control-regex.cjs +74 -0
- package/rules/no-debugger.cjs +33 -0
- package/rules/no-delete-var.cjs +32 -0
- package/rules/no-div-regex.cjs +39 -0
- package/rules/no-dupe-args.cjs +61 -0
- package/rules/no-dupe-class-members.cjs +77 -0
- package/rules/no-dupe-else-if.cjs +74 -0
- package/rules/no-dupe-keys.cjs +88 -0
- package/rules/no-duplicate-case.cjs +49 -0
- package/rules/no-duplicate-imports.cjs +166 -0
- package/rules/no-else-return.cjs +182 -0
- package/rules/no-empty-character-class.cjs +47 -0
- package/rules/no-empty-function.cjs +141 -0
- package/rules/no-empty-pattern.cjs +50 -0
- package/rules/no-empty-static-block.cjs +50 -0
- package/rules/no-empty.cjs +78 -0
- package/rules/no-eq-null.cjs +34 -0
- package/rules/no-eval.cjs +165 -0
- package/rules/no-ex-assign.cjs +45 -0
- package/rules/no-extend-native.cjs +103 -0
- package/rules/no-extra-bind.cjs +127 -0
- package/rules/no-extra-boolean-cast.cjs +159 -0
- package/rules/no-extra-label.cjs +116 -0
- package/rules/no-extra-parens.cjs +665 -0
- package/rules/no-extra-semi.cjs +103 -0
- package/rules/no-fallthrough.cjs +136 -0
- package/rules/no-floating-decimal.cjs +66 -0
- package/rules/no-func-assign.cjs +63 -0
- package/rules/no-global-assign.cjs +62 -0
- package/rules/no-implicit-coercion.cjs +219 -0
- package/rules/no-implicit-globals.cjs +77 -0
- package/rules/no-implied-eval.cjs +87 -0
- package/rules/no-import-assign.cjs +123 -0
- package/rules/no-inline-comments.cjs +57 -0
- package/rules/no-inner-declarations.cjs +82 -0
- package/rules/no-invalid-regexp.cjs +130 -0
- package/rules/no-invalid-this.cjs +90 -0
- package/rules/no-irregular-whitespace.cjs +157 -0
- package/rules/no-iterator.cjs +34 -0
- package/rules/no-label-var.cjs +46 -0
- package/rules/no-labels.cjs +106 -0
- package/rules/no-lone-blocks.cjs +75 -0
- package/rules/no-lonely-if.cjs +42 -0
- package/rules/no-loop-func.cjs +143 -0
- package/rules/no-loss-of-precision.cjs +160 -0
- package/rules/no-magic-numbers.cjs +222 -0
- package/rules/no-misleading-character-class.cjs +500 -0
- package/rules/no-mixed-operators.cjs +197 -0
- package/rules/no-mixed-requires.cjs +117 -0
- package/rules/no-mixed-spaces-and-tabs.cjs +87 -0
- package/rules/no-multi-assign.cjs +38 -0
- package/rules/no-multi-spaces.cjs +95 -0
- package/rules/no-multi-str.cjs +44 -0
- package/rules/no-multiple-empty-lines.cjs +112 -0
- package/rules/no-native-reassign.cjs +72 -0
- package/rules/no-negated-condition.cjs +77 -0
- package/rules/no-negated-in-lhs.cjs +43 -0
- package/rules/no-nested-ternary.cjs +33 -0
- package/rules/no-new-func.cjs +50 -0
- package/rules/no-new-native-nonconstructor.cjs +42 -0
- package/rules/no-new-object.cjs +47 -0
- package/rules/no-new-require.cjs +50 -0
- package/rules/no-new-symbol.cjs +48 -0
- package/rules/no-new-wrappers.cjs +44 -0
- package/rules/no-new.cjs +33 -0
- package/rules/no-nonoctal-decimal-escape.cjs +80 -0
- package/rules/no-obj-calls.cjs +64 -0
- package/rules/no-object-constructor.cjs +69 -0
- package/rules/no-octal-escape.cjs +35 -0
- package/rules/no-octal.cjs +32 -0
- package/rules/no-param-reassign.cjs +135 -0
- package/rules/no-path-concat.cjs +52 -0
- package/rules/no-plusplus.cjs +64 -0
- package/rules/no-process-env.cjs +51 -0
- package/rules/no-process-exit.cjs +50 -0
- package/rules/no-promise-executor-return.cjs +131 -0
- package/rules/no-proto.cjs +34 -0
- package/rules/no-prototype-builtins.cjs +85 -0
- package/rules/no-redeclare.cjs +103 -0
- package/rules/no-regex-spaces.cjs +115 -0
- package/rules/no-restricted-exports.cjs +117 -0
- package/rules/no-restricted-globals.cjs +147 -0
- package/rules/no-restricted-imports.cjs +421 -0
- package/rules/no-restricted-modules.cjs +144 -0
- package/rules/no-restricted-properties.cjs +123 -0
- package/rules/no-restricted-syntax.cjs +49 -0
- package/rules/no-return-assign.cjs +45 -0
- package/rules/no-return-await.cjs +88 -0
- package/rules/no-script-url.cjs +49 -0
- package/rules/no-self-assign.cjs +88 -0
- package/rules/no-self-compare.cjs +53 -0
- package/rules/no-sequences.cjs +81 -0
- package/rules/no-setter-return.cjs +110 -0
- package/rules/no-shadow-restricted-names.cjs +60 -0
- package/rules/no-shadow.cjs +302 -0
- package/rules/no-spaced-func.cjs +69 -0
- package/rules/no-sparse-arrays.cjs +40 -0
- package/rules/no-sync.cjs +58 -0
- package/rules/no-tabs.cjs +73 -0
- package/rules/no-template-curly-in-string.cjs +33 -0
- package/rules/no-ternary.cjs +33 -0
- package/rules/no-this-before-super.cjs +177 -0
- package/rules/no-throw-literal.cjs +40 -0
- package/rules/no-trailing-spaces.cjs +123 -0
- package/rules/no-unassigned-vars.cjs +54 -0
- package/rules/no-undef-init.cjs +46 -0
- package/rules/no-undef.cjs +51 -0
- package/rules/no-undefined.cjs +58 -0
- package/rules/no-underscore-dangle.cjs +211 -0
- package/rules/no-unexpected-multiline.cjs +76 -0
- package/rules/no-unmodified-loop-condition.cjs +849 -0
- package/rules/no-unneeded-ternary.cjs +112 -0
- package/rules/no-unreachable-loop.cjs +128 -0
- package/rules/no-unreachable.cjs +195 -0
- package/rules/no-unsafe-finally.cjs +67 -0
- package/rules/no-unsafe-negation.cjs +86 -0
- package/rules/no-unsafe-optional-chaining.cjs +164 -0
- package/rules/no-unused-expressions.cjs +163 -0
- package/rules/no-unused-labels.cjs +97 -0
- package/rules/no-unused-private-class-members.cjs +69 -0
- package/rules/no-unused-vars.cjs +639 -0
- package/rules/no-use-before-define.cjs +245 -0
- package/rules/no-useless-assignment.cjs +250 -0
- package/rules/no-useless-backreference.cjs +137 -0
- package/rules/no-useless-call.cjs +57 -0
- package/rules/no-useless-catch.cjs +38 -0
- package/rules/no-useless-computed-key.cjs +106 -0
- package/rules/no-useless-concat.cjs +78 -0
- package/rules/no-useless-constructor.cjs +152 -0
- package/rules/no-useless-escape.cjs +164 -0
- package/rules/no-useless-rename.cjs +94 -0
- package/rules/no-useless-return.cjs +229 -0
- package/rules/no-var.cjs +235 -0
- package/rules/no-void.cjs +39 -0
- package/rules/no-warning-comments.cjs +112 -0
- package/rules/no-whitespace-before-property.cjs +72 -0
- package/rules/no-with.cjs +32 -0
- package/rules/nonblock-statement-body-position.cjs +107 -0
- package/rules/object-curly-newline.cjs +194 -0
- package/rules/object-curly-spacing.cjs +225 -0
- package/rules/object-property-newline.cjs +81 -0
- package/rules/object-shorthand.cjs +284 -0
- package/rules/one-var-declaration-per-line.cjs +75 -0
- package/rules/one-var.cjs +378 -0
- package/rules/operator-assignment.cjs +146 -0
- package/rules/operator-linebreak.cjs +150 -0
- package/rules/padded-blocks.cjs +192 -0
- package/rules/padding-line-between-statements.cjs +377 -0
- package/rules/prefer-arrow-callback.cjs +185 -0
- package/rules/prefer-const.cjs +240 -0
- package/rules/prefer-destructuring.cjs +188 -0
- package/rules/prefer-exponentiation-operator.cjs +100 -0
- package/rules/prefer-named-capture-group.cjs +111 -0
- package/rules/prefer-numeric-literals.cjs +75 -0
- package/rules/prefer-object-has-own.cjs +54 -0
- package/rules/prefer-object-spread.cjs +170 -0
- package/rules/prefer-promise-reject-errors.cjs +62 -0
- package/rules/prefer-reflect.cjs +100 -0
- package/rules/prefer-regex-literals.cjs +256 -0
- package/rules/prefer-rest-params.cjs +80 -0
- package/rules/prefer-spread.cjs +57 -0
- package/rules/prefer-template.cjs +147 -0
- package/rules/preserve-caught-error.cjs +196 -0
- package/rules/quote-props.cjs +224 -0
- package/rules/quotes.cjs +187 -0
- package/rules/radix.cjs +124 -0
- package/rules/require-atomic-updates.cjs +197 -0
- package/rules/require-await.cjs +90 -0
- package/rules/require-unicode-regexp.cjs +101 -0
- package/rules/require-yield.cjs +56 -0
- package/rules/rest-spread-spacing.cjs +99 -0
- package/rules/semi-spacing.cjs +215 -0
- package/rules/semi-style.cjs +116 -0
- package/rules/semi.cjs +239 -0
- package/rules/sort-imports.cjs +140 -0
- package/rules/sort-keys.cjs +165 -0
- package/rules/sort-vars.cjs +50 -0
- package/rules/space-before-blocks.cjs +132 -0
- package/rules/space-before-function-paren.cjs +126 -0
- package/rules/space-in-parens.cjs +175 -0
- package/rules/space-infix-ops.cjs +133 -0
- package/rules/space-unary-ops.cjs +237 -0
- package/rules/spaced-comment.cjs +233 -0
- package/rules/strict.cjs +206 -0
- package/rules/switch-colon-spacing.cjs +114 -0
- package/rules/symbol-description.cjs +49 -0
- package/rules/template-curly-spacing.cjs +112 -0
- package/rules/template-tag-spacing.cjs +82 -0
- package/rules/unicode-bom.cjs +52 -0
- package/rules/use-isnan.cjs +144 -0
- package/rules/valid-typeof.cjs +104 -0
- package/rules/vars-on-top.cjs +94 -0
- package/rules/wrap-iife.cjs +131 -0
- package/rules/wrap-regex.cjs +57 -0
- package/rules/yield-star-spacing.cjs +115 -0
- package/rules/yoda.cjs +185 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-negated-in-lhs.js
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview A rule to disallow negated left operands of the `in` operator
|
|
4
|
+
* @author Michael Ficarra
|
|
5
|
+
* @deprecated in ESLint v3.3.0
|
|
6
|
+
*/
|
|
7
|
+
var require_no_negated_in_lhs = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
|
|
8
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
9
|
+
module.exports = {
|
|
10
|
+
meta: {
|
|
11
|
+
type: "problem",
|
|
12
|
+
docs: {
|
|
13
|
+
description: "Disallow negating the left operand in `in` expressions",
|
|
14
|
+
recommended: !1,
|
|
15
|
+
url: "https://eslint.org/docs/latest/rules/no-negated-in-lhs"
|
|
16
|
+
},
|
|
17
|
+
deprecated: {
|
|
18
|
+
message: "Renamed rule.",
|
|
19
|
+
url: "https://eslint.org/blog/2016/08/eslint-v3.3.0-released/#deprecated-rules",
|
|
20
|
+
deprecatedSince: "3.3.0",
|
|
21
|
+
availableUntil: "11.0.0",
|
|
22
|
+
replacedBy: [{ rule: {
|
|
23
|
+
name: "no-unsafe-negation",
|
|
24
|
+
url: "https://eslint.org/docs/rules/no-unsafe-negation"
|
|
25
|
+
} }]
|
|
26
|
+
},
|
|
27
|
+
schema: [],
|
|
28
|
+
messages: { negatedLHS: "The 'in' expression's left operand is negated." }
|
|
29
|
+
},
|
|
30
|
+
create(context) {
|
|
31
|
+
return { BinaryExpression(node) {
|
|
32
|
+
node.operator === "in" && node.left.type === "UnaryExpression" && node.left.operator === "!" && context.report({
|
|
33
|
+
node,
|
|
34
|
+
messageId: "negatedLHS"
|
|
35
|
+
});
|
|
36
|
+
} };
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}));
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src-js/generated/plugin-eslint/rules/no-negated-in-lhs.cjs
|
|
42
|
+
module.exports = require_no_negated_in_lhs().create;
|
|
43
|
+
//#endregion
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-nested-ternary.js
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rule to flag nested ternary expressions
|
|
4
|
+
* @author Ian Christian Myers
|
|
5
|
+
*/
|
|
6
|
+
var require_no_nested_ternary = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
|
|
7
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
8
|
+
module.exports = {
|
|
9
|
+
meta: {
|
|
10
|
+
type: "suggestion",
|
|
11
|
+
docs: {
|
|
12
|
+
description: "Disallow nested ternary expressions",
|
|
13
|
+
recommended: !1,
|
|
14
|
+
frozen: !0,
|
|
15
|
+
url: "https://eslint.org/docs/latest/rules/no-nested-ternary"
|
|
16
|
+
},
|
|
17
|
+
schema: [],
|
|
18
|
+
messages: { noNestedTernary: "Do not nest ternary expressions." }
|
|
19
|
+
},
|
|
20
|
+
create(context) {
|
|
21
|
+
return { ConditionalExpression(node) {
|
|
22
|
+
(node.alternate.type === "ConditionalExpression" || node.consequent.type === "ConditionalExpression") && context.report({
|
|
23
|
+
node,
|
|
24
|
+
messageId: "noNestedTernary"
|
|
25
|
+
});
|
|
26
|
+
} };
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}));
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src-js/generated/plugin-eslint/rules/no-nested-ternary.cjs
|
|
32
|
+
module.exports = require_no_nested_ternary().create;
|
|
33
|
+
//#endregion
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
|
|
2
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-func.js
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Rule to flag when using new Function
|
|
5
|
+
* @author Ilya Volodin
|
|
6
|
+
*/
|
|
7
|
+
var require_no_new_func = /* @__PURE__ */ require_chunk.t(((exports, module) => {
|
|
8
|
+
let astUtils = require_ast_utils$1.t(), callMethods = new Set([
|
|
9
|
+
"apply",
|
|
10
|
+
"bind",
|
|
11
|
+
"call"
|
|
12
|
+
]);
|
|
13
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
14
|
+
module.exports = {
|
|
15
|
+
meta: {
|
|
16
|
+
type: "suggestion",
|
|
17
|
+
docs: {
|
|
18
|
+
description: "Disallow `new` operators with the `Function` object",
|
|
19
|
+
recommended: !1,
|
|
20
|
+
url: "https://eslint.org/docs/latest/rules/no-new-func"
|
|
21
|
+
},
|
|
22
|
+
schema: [],
|
|
23
|
+
messages: { noFunctionConstructor: "The Function constructor is eval." }
|
|
24
|
+
},
|
|
25
|
+
create(context) {
|
|
26
|
+
let sourceCode = context.sourceCode;
|
|
27
|
+
return { "Program:exit"(node) {
|
|
28
|
+
let variable = sourceCode.getScope(node).set.get("Function");
|
|
29
|
+
variable && variable.defs.length === 0 && variable.references.forEach((ref) => {
|
|
30
|
+
let idNode = ref.identifier, { parent } = idNode, evalNode;
|
|
31
|
+
if (parent) {
|
|
32
|
+
if (idNode === parent.callee && (parent.type === "NewExpression" || parent.type === "CallExpression")) evalNode = parent;
|
|
33
|
+
else if (parent.type === "MemberExpression" && idNode === parent.object && callMethods.has(astUtils.getStaticPropertyName(parent))) {
|
|
34
|
+
let maybeCallee = parent.parent.type === "ChainExpression" ? parent.parent : parent;
|
|
35
|
+
maybeCallee.parent.type === "CallExpression" && maybeCallee.parent.callee === maybeCallee && (evalNode = maybeCallee.parent);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
evalNode && context.report({
|
|
39
|
+
node: evalNode,
|
|
40
|
+
messageId: "noFunctionConstructor"
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
} };
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}));
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src-js/generated/plugin-eslint/rules/no-new-func.cjs
|
|
49
|
+
module.exports = require_no_new_func().create;
|
|
50
|
+
//#endregion
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rule to disallow use of the new operator with global non-constructor functions
|
|
4
|
+
* @author Sosuke Suzuki
|
|
5
|
+
*/
|
|
6
|
+
var require_no_new_native_nonconstructor = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
|
|
7
|
+
let nonConstructorGlobalFunctionNames = ["Symbol", "BigInt"];
|
|
8
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
9
|
+
module.exports = {
|
|
10
|
+
meta: {
|
|
11
|
+
type: "problem",
|
|
12
|
+
docs: {
|
|
13
|
+
description: "Disallow `new` operators with global non-constructor functions",
|
|
14
|
+
recommended: !0,
|
|
15
|
+
url: "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor"
|
|
16
|
+
},
|
|
17
|
+
schema: [],
|
|
18
|
+
messages: { noNewNonconstructor: "`{{name}}` cannot be called as a constructor." }
|
|
19
|
+
},
|
|
20
|
+
create(context) {
|
|
21
|
+
let sourceCode = context.sourceCode;
|
|
22
|
+
return { "Program:exit"(node) {
|
|
23
|
+
let globalScope = sourceCode.getScope(node);
|
|
24
|
+
for (let nonConstructorName of nonConstructorGlobalFunctionNames) {
|
|
25
|
+
let variable = globalScope.set.get(nonConstructorName);
|
|
26
|
+
variable && variable.defs.length === 0 && variable.references.forEach((ref) => {
|
|
27
|
+
let idNode = ref.identifier, parent = idNode.parent;
|
|
28
|
+
parent && parent.type === "NewExpression" && parent.callee === idNode && context.report({
|
|
29
|
+
node: idNode,
|
|
30
|
+
messageId: "noNewNonconstructor",
|
|
31
|
+
data: { name: nonConstructorName }
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
} };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}));
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src-js/generated/plugin-eslint/rules/no-new-native-nonconstructor.cjs
|
|
41
|
+
module.exports = require_no_new_native_nonconstructor().create;
|
|
42
|
+
//#endregion
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
|
|
2
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-object.js
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview A rule to disallow calls to the Object constructor
|
|
5
|
+
* @author Matt DuVall <http://www.mattduvall.com/>
|
|
6
|
+
* @deprecated in ESLint v8.50.0
|
|
7
|
+
*/
|
|
8
|
+
var require_no_new_object = /* @__PURE__ */ require_chunk.t(((exports, module) => {
|
|
9
|
+
let astUtils = require_ast_utils$1.t();
|
|
10
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
11
|
+
module.exports = {
|
|
12
|
+
meta: {
|
|
13
|
+
type: "suggestion",
|
|
14
|
+
docs: {
|
|
15
|
+
description: "Disallow `Object` constructors",
|
|
16
|
+
recommended: !1,
|
|
17
|
+
url: "https://eslint.org/docs/latest/rules/no-new-object"
|
|
18
|
+
},
|
|
19
|
+
deprecated: {
|
|
20
|
+
message: "The new rule flags more situations where object literal syntax can be used, and it does not report a problem when the `Object` constructor is invoked with an argument.",
|
|
21
|
+
url: "https://eslint.org/blog/2023/09/eslint-v8.50.0-released/",
|
|
22
|
+
deprecatedSince: "8.50.0",
|
|
23
|
+
availableUntil: "11.0.0",
|
|
24
|
+
replacedBy: [{ rule: {
|
|
25
|
+
name: "no-object-constructor",
|
|
26
|
+
url: "https://eslint.org/docs/rules/no-object-constructor"
|
|
27
|
+
} }]
|
|
28
|
+
},
|
|
29
|
+
schema: [],
|
|
30
|
+
messages: { preferLiteral: "The object literal notation {} is preferable." }
|
|
31
|
+
},
|
|
32
|
+
create(context) {
|
|
33
|
+
let sourceCode = context.sourceCode;
|
|
34
|
+
return { NewExpression(node) {
|
|
35
|
+
let variable = astUtils.getVariableByName(sourceCode.getScope(node), node.callee.name);
|
|
36
|
+
variable && variable.identifiers.length > 0 || node.callee.name === "Object" && context.report({
|
|
37
|
+
node,
|
|
38
|
+
messageId: "preferLiteral"
|
|
39
|
+
});
|
|
40
|
+
} };
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}));
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src-js/generated/plugin-eslint/rules/no-new-object.cjs
|
|
46
|
+
module.exports = require_no_new_object().create;
|
|
47
|
+
//#endregion
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-require.js
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rule to disallow use of new operator with the `require` function
|
|
4
|
+
* @author Wil Moore III
|
|
5
|
+
* @deprecated in ESLint v7.0.0
|
|
6
|
+
*/
|
|
7
|
+
var require_no_new_require = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
|
|
8
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
9
|
+
module.exports = {
|
|
10
|
+
meta: {
|
|
11
|
+
deprecated: {
|
|
12
|
+
message: "Node.js rules were moved out of ESLint core.",
|
|
13
|
+
url: "https://eslint.org/docs/latest/use/migrating-to-7.0.0#deprecate-node-rules",
|
|
14
|
+
deprecatedSince: "7.0.0",
|
|
15
|
+
availableUntil: "11.0.0",
|
|
16
|
+
replacedBy: [{
|
|
17
|
+
message: "eslint-plugin-n now maintains deprecated Node.js-related rules.",
|
|
18
|
+
plugin: {
|
|
19
|
+
name: "eslint-plugin-n",
|
|
20
|
+
url: "https://github.com/eslint-community/eslint-plugin-n"
|
|
21
|
+
},
|
|
22
|
+
rule: {
|
|
23
|
+
name: "no-new-require",
|
|
24
|
+
url: "https://github.com/eslint-community/eslint-plugin-n/tree/master/docs/rules/no-new-require.md"
|
|
25
|
+
}
|
|
26
|
+
}]
|
|
27
|
+
},
|
|
28
|
+
type: "suggestion",
|
|
29
|
+
docs: {
|
|
30
|
+
description: "Disallow `new` operators with calls to `require`",
|
|
31
|
+
recommended: !1,
|
|
32
|
+
url: "https://eslint.org/docs/latest/rules/no-new-require"
|
|
33
|
+
},
|
|
34
|
+
schema: [],
|
|
35
|
+
messages: { noNewRequire: "Unexpected use of new with require." }
|
|
36
|
+
},
|
|
37
|
+
create(context) {
|
|
38
|
+
return { NewExpression(node) {
|
|
39
|
+
node.callee.type === "Identifier" && node.callee.name === "require" && context.report({
|
|
40
|
+
node,
|
|
41
|
+
messageId: "noNewRequire"
|
|
42
|
+
});
|
|
43
|
+
} };
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}));
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src-js/generated/plugin-eslint/rules/no-new-require.cjs
|
|
49
|
+
module.exports = require_no_new_require().create;
|
|
50
|
+
//#endregion
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-symbol.js
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rule to disallow use of the new operator with the `Symbol` object
|
|
4
|
+
* @author Alberto Rodríguez
|
|
5
|
+
* @deprecated in ESLint v9.0.0
|
|
6
|
+
*/
|
|
7
|
+
var require_no_new_symbol = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
|
|
8
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
9
|
+
module.exports = {
|
|
10
|
+
meta: {
|
|
11
|
+
type: "problem",
|
|
12
|
+
docs: {
|
|
13
|
+
description: "Disallow `new` operators with the `Symbol` object",
|
|
14
|
+
recommended: !1,
|
|
15
|
+
url: "https://eslint.org/docs/latest/rules/no-new-symbol"
|
|
16
|
+
},
|
|
17
|
+
deprecated: {
|
|
18
|
+
message: "The rule was replaced with a more general rule.",
|
|
19
|
+
url: "https://eslint.org/docs/latest/use/migrate-to-9.0.0#eslint-recommended",
|
|
20
|
+
deprecatedSince: "9.0.0",
|
|
21
|
+
availableUntil: "11.0.0",
|
|
22
|
+
replacedBy: [{ rule: {
|
|
23
|
+
name: "no-new-native-nonconstructor",
|
|
24
|
+
url: "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor"
|
|
25
|
+
} }]
|
|
26
|
+
},
|
|
27
|
+
schema: [],
|
|
28
|
+
messages: { noNewSymbol: "`Symbol` cannot be called as a constructor." }
|
|
29
|
+
},
|
|
30
|
+
create(context) {
|
|
31
|
+
let sourceCode = context.sourceCode;
|
|
32
|
+
return { "Program:exit"(node) {
|
|
33
|
+
let variable = sourceCode.getScope(node).set.get("Symbol");
|
|
34
|
+
variable && variable.defs.length === 0 && variable.references.forEach((ref) => {
|
|
35
|
+
let idNode = ref.identifier, parent = idNode.parent;
|
|
36
|
+
parent && parent.type === "NewExpression" && parent.callee === idNode && context.report({
|
|
37
|
+
node: idNode,
|
|
38
|
+
messageId: "noNewSymbol"
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
} };
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}));
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src-js/generated/plugin-eslint/rules/no-new-symbol.cjs
|
|
47
|
+
module.exports = require_no_new_symbol().create;
|
|
48
|
+
//#endregion
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
|
|
2
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-wrappers.js
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Rule to flag when using constructor for wrapper objects
|
|
5
|
+
* @author Ilya Volodin
|
|
6
|
+
*/
|
|
7
|
+
var require_no_new_wrappers = /* @__PURE__ */ require_chunk.t(((exports, module) => {
|
|
8
|
+
let { getVariableByName } = require_ast_utils$1.t();
|
|
9
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
10
|
+
module.exports = {
|
|
11
|
+
meta: {
|
|
12
|
+
type: "suggestion",
|
|
13
|
+
docs: {
|
|
14
|
+
description: "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects",
|
|
15
|
+
recommended: !1,
|
|
16
|
+
url: "https://eslint.org/docs/latest/rules/no-new-wrappers"
|
|
17
|
+
},
|
|
18
|
+
schema: [],
|
|
19
|
+
messages: { noConstructor: "Do not use {{fn}} as a constructor." }
|
|
20
|
+
},
|
|
21
|
+
create(context) {
|
|
22
|
+
let { sourceCode } = context;
|
|
23
|
+
return { NewExpression(node) {
|
|
24
|
+
let wrapperObjects = [
|
|
25
|
+
"String",
|
|
26
|
+
"Number",
|
|
27
|
+
"Boolean"
|
|
28
|
+
], { name } = node.callee;
|
|
29
|
+
if (wrapperObjects.includes(name)) {
|
|
30
|
+
let variable = getVariableByName(sourceCode.getScope(node), name);
|
|
31
|
+
variable && variable.identifiers.length === 0 && context.report({
|
|
32
|
+
node,
|
|
33
|
+
messageId: "noConstructor",
|
|
34
|
+
data: { fn: name }
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
} };
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}));
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src-js/generated/plugin-eslint/rules/no-new-wrappers.cjs
|
|
43
|
+
module.exports = require_no_new_wrappers().create;
|
|
44
|
+
//#endregion
|
package/rules/no-new.cjs
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new.js
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rule to flag statements with function invocation preceded by
|
|
4
|
+
* "new" and not part of assignment
|
|
5
|
+
* @author Ilya Volodin
|
|
6
|
+
*/
|
|
7
|
+
var require_no_new = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
|
|
8
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
9
|
+
module.exports = {
|
|
10
|
+
meta: {
|
|
11
|
+
type: "suggestion",
|
|
12
|
+
docs: {
|
|
13
|
+
description: "Disallow `new` operators outside of assignments or comparisons",
|
|
14
|
+
recommended: !1,
|
|
15
|
+
url: "https://eslint.org/docs/latest/rules/no-new"
|
|
16
|
+
},
|
|
17
|
+
schema: [],
|
|
18
|
+
messages: { noNewStatement: "Do not use 'new' for side effects." }
|
|
19
|
+
},
|
|
20
|
+
create(context) {
|
|
21
|
+
return { "ExpressionStatement > NewExpression"(node) {
|
|
22
|
+
context.report({
|
|
23
|
+
node: node.parent,
|
|
24
|
+
messageId: "noNewStatement"
|
|
25
|
+
});
|
|
26
|
+
} };
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}));
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src-js/generated/plugin-eslint/rules/no-new.cjs
|
|
32
|
+
module.exports = require_no_new().create;
|
|
33
|
+
//#endregion
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rule to disallow `\8` and `\9` escape sequences in string literals.
|
|
4
|
+
* @author Milos Djermanovic
|
|
5
|
+
*/
|
|
6
|
+
var require_no_nonoctal_decimal_escape = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
|
|
7
|
+
/**
|
|
8
|
+
* @import { SourceRange } from "@eslint/core";
|
|
9
|
+
*/
|
|
10
|
+
let QUICK_TEST_REGEX = /\\[89]/u;
|
|
11
|
+
/**
|
|
12
|
+
* Returns unicode escape sequence that represents the given character.
|
|
13
|
+
* @param {string} character A single code unit.
|
|
14
|
+
* @returns {string} "\uXXXX" sequence.
|
|
15
|
+
*/
|
|
16
|
+
function getUnicodeEscape(character) {
|
|
17
|
+
return `\\u${character.charCodeAt(0).toString(16).padStart(4, "0")}`;
|
|
18
|
+
}
|
|
19
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
20
|
+
module.exports = {
|
|
21
|
+
meta: {
|
|
22
|
+
type: "suggestion",
|
|
23
|
+
docs: {
|
|
24
|
+
description: "Disallow `\\8` and `\\9` escape sequences in string literals",
|
|
25
|
+
recommended: !0,
|
|
26
|
+
url: "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape"
|
|
27
|
+
},
|
|
28
|
+
hasSuggestions: !0,
|
|
29
|
+
schema: [],
|
|
30
|
+
messages: {
|
|
31
|
+
decimalEscape: "Don't use '{{decimalEscape}}' escape sequence.",
|
|
32
|
+
refactor: "Replace '{{original}}' with '{{replacement}}'. This maintains the current functionality.",
|
|
33
|
+
escapeBackslash: "Replace '{{original}}' with '{{replacement}}' to include the actual backslash character."
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
create(context) {
|
|
37
|
+
let sourceCode = context.sourceCode;
|
|
38
|
+
/**
|
|
39
|
+
* Creates a new Suggestion object.
|
|
40
|
+
* @param {string} messageId "refactor" or "escapeBackslash".
|
|
41
|
+
* @param {SourceRange} range The range to replace.
|
|
42
|
+
* @param {string} replacement New text for the range.
|
|
43
|
+
* @returns {Object} Suggestion
|
|
44
|
+
*/
|
|
45
|
+
function createSuggestion(messageId, range, replacement) {
|
|
46
|
+
return {
|
|
47
|
+
messageId,
|
|
48
|
+
data: {
|
|
49
|
+
original: sourceCode.getText().slice(...range),
|
|
50
|
+
replacement
|
|
51
|
+
},
|
|
52
|
+
fix(fixer) {
|
|
53
|
+
return fixer.replaceTextRange(range, replacement);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return { Literal(node) {
|
|
58
|
+
if (typeof node.value != "string" || !QUICK_TEST_REGEX.test(node.raw)) return;
|
|
59
|
+
let regex = /(?:[^\\]|(?<previousEscape>\\.))*?(?<decimalEscape>\\[89])/suy, match;
|
|
60
|
+
for (; match = regex.exec(node.raw);) {
|
|
61
|
+
let { previousEscape, decimalEscape } = match.groups, decimalEscapeRangeEnd = node.range[0] + match.index + match[0].length, decimalEscapeRangeStart = decimalEscapeRangeEnd - decimalEscape.length, decimalEscapeRange = [decimalEscapeRangeStart, decimalEscapeRangeEnd], suggest = [];
|
|
62
|
+
previousEscape === "\\0" ? suggest.push(createSuggestion("refactor", [decimalEscapeRangeStart - previousEscape.length, decimalEscapeRangeEnd], `${getUnicodeEscape("\0")}${decimalEscape[1]}`), createSuggestion("refactor", decimalEscapeRange, getUnicodeEscape(decimalEscape[1]))) : suggest.push(createSuggestion("refactor", decimalEscapeRange, decimalEscape[1])), suggest.push(createSuggestion("escapeBackslash", decimalEscapeRange, `\\${decimalEscape}`)), context.report({
|
|
63
|
+
node,
|
|
64
|
+
loc: {
|
|
65
|
+
start: sourceCode.getLocFromIndex(decimalEscapeRangeStart),
|
|
66
|
+
end: sourceCode.getLocFromIndex(decimalEscapeRangeEnd)
|
|
67
|
+
},
|
|
68
|
+
messageId: "decimalEscape",
|
|
69
|
+
data: { decimalEscape },
|
|
70
|
+
suggest
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
} };
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}));
|
|
77
|
+
//#endregion
|
|
78
|
+
//#region src-js/generated/plugin-eslint/rules/no-nonoctal-decimal-escape.cjs
|
|
79
|
+
module.exports = require_no_nonoctal_decimal_escape().create;
|
|
80
|
+
//#endregion
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs"), require_eslint_utils$1 = require("../common/eslint-utils.cjs");
|
|
2
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-obj-calls.js
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Rule to flag use of an object property of the global object (Math and JSON) as a function
|
|
5
|
+
* @author James Allardice
|
|
6
|
+
*/
|
|
7
|
+
var require_no_obj_calls = /* @__PURE__ */ require_chunk.t(((exports, module) => {
|
|
8
|
+
let { CALL, CONSTRUCT, ReferenceTracker } = require_eslint_utils$1.t(), getPropertyName = require_ast_utils$1.t().getStaticPropertyName, nonCallableGlobals = [
|
|
9
|
+
"Atomics",
|
|
10
|
+
"JSON",
|
|
11
|
+
"Math",
|
|
12
|
+
"Reflect",
|
|
13
|
+
"Intl"
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* Returns the name of the node to report
|
|
17
|
+
* @param {ASTNode} node A node to report
|
|
18
|
+
* @returns {string} name to report
|
|
19
|
+
*/
|
|
20
|
+
function getReportNodeName(node) {
|
|
21
|
+
return node.type === "ChainExpression" ? getReportNodeName(node.expression) : node.type === "MemberExpression" ? getPropertyName(node) : node.name;
|
|
22
|
+
}
|
|
23
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
24
|
+
module.exports = {
|
|
25
|
+
meta: {
|
|
26
|
+
type: "problem",
|
|
27
|
+
docs: {
|
|
28
|
+
description: "Disallow calling global object properties as functions",
|
|
29
|
+
recommended: !0,
|
|
30
|
+
url: "https://eslint.org/docs/latest/rules/no-obj-calls"
|
|
31
|
+
},
|
|
32
|
+
schema: [],
|
|
33
|
+
messages: {
|
|
34
|
+
unexpectedCall: "'{{name}}' is not a function.",
|
|
35
|
+
unexpectedRefCall: "'{{name}}' is reference to '{{ref}}', which is not a function."
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
create(context) {
|
|
39
|
+
let sourceCode = context.sourceCode;
|
|
40
|
+
return { Program(node) {
|
|
41
|
+
let tracker = new ReferenceTracker(sourceCode.getScope(node)), traceMap = {};
|
|
42
|
+
for (let g of nonCallableGlobals) traceMap[g] = {
|
|
43
|
+
[CALL]: !0,
|
|
44
|
+
[CONSTRUCT]: !0
|
|
45
|
+
};
|
|
46
|
+
for (let { node: refNode, path } of tracker.iterateGlobalReferences(traceMap)) {
|
|
47
|
+
let name = getReportNodeName(refNode.callee), ref = path[0], messageId = name === ref ? "unexpectedCall" : "unexpectedRefCall";
|
|
48
|
+
context.report({
|
|
49
|
+
node: refNode,
|
|
50
|
+
messageId,
|
|
51
|
+
data: {
|
|
52
|
+
name,
|
|
53
|
+
ref
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
} };
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}));
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src-js/generated/plugin-eslint/rules/no-obj-calls.cjs
|
|
63
|
+
module.exports = require_no_obj_calls().create;
|
|
64
|
+
//#endregion
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
|
|
2
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-object-constructor.js
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Rule to disallow calls to the `Object` constructor without an argument
|
|
5
|
+
* @author Francesco Trotta
|
|
6
|
+
*/
|
|
7
|
+
var require_no_object_constructor = /* @__PURE__ */ require_chunk.t(((exports, module) => {
|
|
8
|
+
let { getVariableByName, isArrowToken, isStartOfExpressionStatement, needsPrecedingSemicolon } = require_ast_utils$1.t();
|
|
9
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
10
|
+
module.exports = {
|
|
11
|
+
meta: {
|
|
12
|
+
type: "suggestion",
|
|
13
|
+
docs: {
|
|
14
|
+
description: "Disallow calls to the `Object` constructor without an argument",
|
|
15
|
+
recommended: !1,
|
|
16
|
+
url: "https://eslint.org/docs/latest/rules/no-object-constructor"
|
|
17
|
+
},
|
|
18
|
+
hasSuggestions: !0,
|
|
19
|
+
schema: [],
|
|
20
|
+
messages: {
|
|
21
|
+
preferLiteral: "The object literal notation {} is preferable.",
|
|
22
|
+
useLiteral: "Replace with '{{replacement}}'.",
|
|
23
|
+
useLiteralAfterSemicolon: "Replace with '{{replacement}}', add preceding semicolon."
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
create(context) {
|
|
27
|
+
let sourceCode = context.sourceCode;
|
|
28
|
+
/**
|
|
29
|
+
* Determines whether or not an object literal that replaces a specified node needs to be enclosed in parentheses.
|
|
30
|
+
* @param {ASTNode} node The node to be replaced.
|
|
31
|
+
* @returns {boolean} Whether or not parentheses around the object literal are required.
|
|
32
|
+
*/
|
|
33
|
+
function needsParentheses(node) {
|
|
34
|
+
if (isStartOfExpressionStatement(node)) return !0;
|
|
35
|
+
let prevToken = sourceCode.getTokenBefore(node);
|
|
36
|
+
return !!(prevToken && isArrowToken(prevToken));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Reports on nodes where the `Object` constructor is called without arguments.
|
|
40
|
+
* @param {ASTNode} node The node to evaluate.
|
|
41
|
+
* @returns {void}
|
|
42
|
+
*/
|
|
43
|
+
function check(node) {
|
|
44
|
+
if (node.callee.type !== "Identifier" || node.callee.name !== "Object" || node.arguments.length) return;
|
|
45
|
+
let variable = getVariableByName(sourceCode.getScope(node), "Object");
|
|
46
|
+
if (variable && variable.identifiers.length === 0) {
|
|
47
|
+
let replacement, fixText, messageId = "useLiteral";
|
|
48
|
+
needsParentheses(node) ? (replacement = "({})", needsPrecedingSemicolon(sourceCode, node) ? (fixText = ";({})", messageId = "useLiteralAfterSemicolon") : fixText = "({})") : replacement = fixText = "{}", context.report({
|
|
49
|
+
node,
|
|
50
|
+
messageId: "preferLiteral",
|
|
51
|
+
suggest: [{
|
|
52
|
+
messageId,
|
|
53
|
+
data: { replacement },
|
|
54
|
+
fix: (fixer) => fixer.replaceText(node, fixText)
|
|
55
|
+
}]
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
CallExpression: check,
|
|
61
|
+
NewExpression: check
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}));
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src-js/generated/plugin-eslint/rules/no-object-constructor.cjs
|
|
68
|
+
module.exports = require_no_object_constructor().create;
|
|
69
|
+
//#endregion
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-octal-escape.js
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rule to flag octal escape sequences in string literals.
|
|
4
|
+
* @author Ian Christian Myers
|
|
5
|
+
*/
|
|
6
|
+
var require_no_octal_escape = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
|
|
7
|
+
/** @type {import('../types').Rule.RuleModule} */
|
|
8
|
+
module.exports = {
|
|
9
|
+
meta: {
|
|
10
|
+
type: "suggestion",
|
|
11
|
+
docs: {
|
|
12
|
+
description: "Disallow octal escape sequences in string literals",
|
|
13
|
+
recommended: !1,
|
|
14
|
+
url: "https://eslint.org/docs/latest/rules/no-octal-escape"
|
|
15
|
+
},
|
|
16
|
+
schema: [],
|
|
17
|
+
messages: { octalEscapeSequence: "Don't use octal: '\\{{sequence}}'. Use '\\u....' instead." }
|
|
18
|
+
},
|
|
19
|
+
create(context) {
|
|
20
|
+
return { Literal(node) {
|
|
21
|
+
if (typeof node.value != "string") return;
|
|
22
|
+
let match = node.raw.match(/^(?:[^\\]|\\.)*?\\([0-3][0-7]{1,2}|[4-7][0-7]|0(?=[89])|[1-7])/su);
|
|
23
|
+
match && context.report({
|
|
24
|
+
node,
|
|
25
|
+
messageId: "octalEscapeSequence",
|
|
26
|
+
data: { sequence: match[1] }
|
|
27
|
+
});
|
|
28
|
+
} };
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}));
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src-js/generated/plugin-eslint/rules/no-octal-escape.cjs
|
|
34
|
+
module.exports = require_no_octal_escape().create;
|
|
35
|
+
//#endregion
|