immosquare-cleaner 0.1.40 → 0.1.41

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/lib/immosquare-cleaner/version.rb +1 -1
  3. data/node_modules/@eslint/config-array/README.md +9 -3
  4. data/node_modules/@eslint/config-array/dist/cjs/index.cjs +1 -0
  5. data/node_modules/@eslint/config-array/dist/esm/index.js +1 -0
  6. data/node_modules/@eslint/config-array/package.json +2 -2
  7. data/node_modules/@eslint/eslintrc/node_modules/espree/LICENSE +25 -0
  8. data/node_modules/@eslint/eslintrc/node_modules/espree/README.md +244 -0
  9. data/node_modules/@eslint/eslintrc/node_modules/espree/dist/espree.cjs +883 -0
  10. data/node_modules/@eslint/eslintrc/node_modules/espree/espree.js +177 -0
  11. data/node_modules/@eslint/eslintrc/node_modules/espree/lib/espree.js +349 -0
  12. data/node_modules/@eslint/eslintrc/node_modules/espree/lib/features.js +27 -0
  13. data/node_modules/@eslint/eslintrc/node_modules/espree/lib/options.js +123 -0
  14. data/node_modules/@eslint/eslintrc/node_modules/espree/lib/token-translator.js +263 -0
  15. data/node_modules/@eslint/eslintrc/node_modules/espree/lib/version.js +3 -0
  16. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/CHANGELOG.md +880 -0
  17. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/LICENSE +21 -0
  18. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/README.md +283 -0
  19. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/bin/acorn +4 -0
  20. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/acorn.d.mts +857 -0
  21. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/acorn.d.ts +857 -0
  22. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/acorn.js +6002 -0
  23. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/acorn.mjs +5973 -0
  24. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/bin.js +90 -0
  25. data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/package.json +50 -0
  26. data/node_modules/@eslint/eslintrc/node_modules/espree/package.json +86 -0
  27. data/node_modules/@eslint/js/package.json +1 -1
  28. data/node_modules/@eslint-community/regexpp/index.d.ts +19 -5
  29. data/node_modules/@eslint-community/regexpp/index.js +138 -17
  30. data/node_modules/@eslint-community/regexpp/index.js.map +1 -1
  31. data/node_modules/@eslint-community/regexpp/index.mjs +138 -17
  32. data/node_modules/@eslint-community/regexpp/index.mjs.map +1 -1
  33. data/node_modules/@eslint-community/regexpp/package.json +1 -3
  34. data/node_modules/acorn/CHANGELOG.md +24 -0
  35. data/node_modules/acorn/README.md +5 -6
  36. data/node_modules/acorn/dist/acorn.d.mts +8 -9
  37. data/node_modules/acorn/dist/acorn.d.ts +8 -9
  38. data/node_modules/acorn/dist/acorn.js +92 -29
  39. data/node_modules/acorn/dist/acorn.mjs +92 -29
  40. data/node_modules/acorn/package.json +3 -3
  41. data/node_modules/eslint/README.md +7 -8
  42. data/node_modules/eslint/conf/ecma-version.js +1 -1
  43. data/node_modules/eslint/conf/globals.js +6 -1
  44. data/node_modules/eslint/lib/cli.js +23 -2
  45. data/node_modules/eslint/lib/eslint/eslint-helpers.js +5 -0
  46. data/node_modules/eslint/lib/eslint/eslint.js +16 -2
  47. data/node_modules/eslint/lib/eslint/legacy-eslint.js +14 -0
  48. data/node_modules/eslint/lib/languages/js/index.js +10 -5
  49. data/node_modules/eslint/lib/languages/js/source-code/source-code.js +16 -6
  50. data/node_modules/eslint/lib/linter/apply-disable-directives.js +6 -3
  51. data/node_modules/eslint/lib/linter/config-comment-parser.js +3 -16
  52. data/node_modules/eslint/lib/linter/linter.js +194 -149
  53. data/node_modules/eslint/lib/linter/node-event-generator.js +2 -4
  54. data/node_modules/eslint/lib/linter/vfile.js +7 -0
  55. data/node_modules/eslint/lib/options.js +13 -1
  56. data/node_modules/eslint/lib/rules/no-restricted-imports.js +12 -5
  57. data/node_modules/eslint/lib/rules/no-unused-vars.js +34 -32
  58. data/node_modules/eslint/lib/rules/no-useless-backreference.js +81 -31
  59. data/node_modules/eslint/lib/rules/utils/regular-expressions.js +1 -1
  60. data/node_modules/eslint/lib/shared/flags.js +26 -0
  61. data/node_modules/eslint/lib/shared/logging.js +10 -1
  62. data/node_modules/eslint/lib/shared/types.js +1 -1
  63. data/node_modules/eslint/package.json +9 -13
  64. data/node_modules/eslint-scope/dist/eslint-scope.cjs +2 -2
  65. data/node_modules/eslint-scope/lib/referencer.js +1 -1
  66. data/node_modules/eslint-scope/lib/version.js +1 -1
  67. data/node_modules/eslint-scope/package.json +2 -2
  68. data/node_modules/espree/README.md +5 -5
  69. data/node_modules/espree/dist/espree.cjs +62 -6
  70. data/node_modules/espree/espree.js +1 -4
  71. data/node_modules/espree/lib/options.js +3 -2
  72. data/node_modules/espree/lib/token-translator.js +1 -1
  73. data/node_modules/espree/lib/version.js +1 -1
  74. data/node_modules/espree/package.json +7 -7
  75. data/node_modules/js-tokens/CHANGELOG.md +17 -0
  76. data/node_modules/js-tokens/LICENSE +1 -1
  77. data/node_modules/js-tokens/README.md +25 -7
  78. data/node_modules/js-tokens/index.js +3 -3
  79. data/node_modules/js-tokens/package.json +5 -5
  80. data/node_modules/jscodeshift/CHANGELOG.md +5 -0
  81. data/node_modules/jscodeshift/bin/jscodeshift.js +1 -1
  82. data/node_modules/jscodeshift/package.json +1 -2
  83. data/node_modules/jscodeshift/website/index.htm +9 -0
  84. data/node_modules/prettier/LICENSE +35 -34
  85. data/node_modules/prettier/doc.js +2 -2
  86. data/node_modules/prettier/doc.mjs +2 -2
  87. data/node_modules/prettier/index.cjs +8 -8
  88. data/node_modules/prettier/index.d.ts +1 -2
  89. data/node_modules/prettier/index.mjs +636 -704
  90. data/node_modules/prettier/internal/cli.mjs +4 -4
  91. data/node_modules/prettier/package.json +1 -1
  92. data/node_modules/prettier/plugins/acorn.js +14 -12
  93. data/node_modules/prettier/plugins/acorn.mjs +14 -12
  94. data/node_modules/prettier/plugins/angular.js +1 -1
  95. data/node_modules/prettier/plugins/angular.mjs +1 -1
  96. data/node_modules/prettier/plugins/babel.js +10 -11
  97. data/node_modules/prettier/plugins/babel.mjs +10 -11
  98. data/node_modules/prettier/plugins/estree.js +27 -27
  99. data/node_modules/prettier/plugins/estree.mjs +27 -27
  100. data/node_modules/prettier/plugins/flow.js +15 -16
  101. data/node_modules/prettier/plugins/flow.mjs +15 -16
  102. data/node_modules/prettier/plugins/glimmer.js +5 -5
  103. data/node_modules/prettier/plugins/glimmer.mjs +5 -5
  104. data/node_modules/prettier/plugins/graphql.js +8 -8
  105. data/node_modules/prettier/plugins/graphql.mjs +8 -8
  106. data/node_modules/prettier/plugins/html.js +17 -17
  107. data/node_modules/prettier/plugins/html.mjs +17 -17
  108. data/node_modules/prettier/plugins/markdown.js +44 -44
  109. data/node_modules/prettier/plugins/markdown.mjs +44 -44
  110. data/node_modules/prettier/plugins/meriyah.js +4 -5
  111. data/node_modules/prettier/plugins/meriyah.mjs +4 -5
  112. data/node_modules/prettier/plugins/postcss.js +26 -26
  113. data/node_modules/prettier/plugins/postcss.mjs +26 -26
  114. data/node_modules/prettier/plugins/typescript.js +15 -20
  115. data/node_modules/prettier/plugins/typescript.mjs +15 -20
  116. data/node_modules/prettier/plugins/yaml.js +6 -6
  117. data/node_modules/prettier/plugins/yaml.mjs +6 -6
  118. data/node_modules/prettier/standalone.js +31 -30
  119. data/node_modules/prettier/standalone.mjs +28 -27
  120. data/package.json +4 -4
  121. metadata +24 -2
@@ -723,6 +723,7 @@ function processOptions({
723
723
  errorOnUnmatchedPattern = true,
724
724
  fix = false,
725
725
  fixTypes = null, // ← should be null by default because if it's an array then it suppresses rules that don't have the `meta.type` property.
726
+ flags = [],
726
727
  globInputPaths = true,
727
728
  ignore = true,
728
729
  ignorePatterns = null,
@@ -810,6 +811,9 @@ function processOptions({
810
811
  if (fixTypes !== null && !isFixTypeArray(fixTypes)) {
811
812
  errors.push("'fixTypes' must be an array of any of \"directive\", \"problem\", \"suggestion\", and \"layout\".");
812
813
  }
814
+ if (!isEmptyArrayOrArrayOfNonEmptyString(flags)) {
815
+ errors.push("'flags' must be an array of non-empty strings.");
816
+ }
813
817
  if (typeof globInputPaths !== "boolean") {
814
818
  errors.push("'globInputPaths' must be a boolean.");
815
819
  }
@@ -863,6 +867,7 @@ function processOptions({
863
867
  errorOnUnmatchedPattern,
864
868
  fix,
865
869
  fixTypes,
870
+ flags: [...flags],
866
871
  globInputPaths,
867
872
  ignore,
868
873
  ignorePatterns,
@@ -76,6 +76,7 @@ const { Retrier } = require("@humanwhocodes/retry");
76
76
  * @property {boolean} [errorOnUnmatchedPattern] If `false` then `ESLint#lintFiles()` doesn't throw even if no target files found. Defaults to `true`.
77
77
  * @property {boolean|Function} [fix] Execute in autofix mode. If a function, should return a boolean.
78
78
  * @property {string[]} [fixTypes] Array of rule types to apply fixes for.
79
+ * @property {string[]} [flags] Array of feature flags to enable.
79
80
  * @property {boolean} [globInputPaths] Set to false to skip glob resolution of input file paths to lint (default: true). If false, each input file paths is assumed to be a non-glob path to an existing file.
80
81
  * @property {boolean} [ignore] False disables all ignore patterns except for the default ones.
81
82
  * @property {string[]} [ignorePatterns] Ignore file patterns to use in addition to config ignores. These patterns are relative to `cwd`.
@@ -421,7 +422,8 @@ async function calculateConfigArray(eslint, {
421
422
  relativeIgnorePatterns = ignorePatterns;
422
423
  } else {
423
424
 
424
- const relativeIgnorePath = path.relative(basePath, cwd);
425
+ // In minimatch patterns, only `/` can be used as path separator
426
+ const relativeIgnorePath = path.relative(basePath, cwd).replaceAll(path.sep, "/");
425
427
 
426
428
  relativeIgnorePatterns = ignorePatterns.map(pattern => {
427
429
  const negated = pattern.startsWith("!");
@@ -593,7 +595,8 @@ class ESLint {
593
595
  const processedOptions = processOptions(options);
594
596
  const linter = new Linter({
595
597
  cwd: processedOptions.cwd,
596
- configType: "flat"
598
+ configType: "flat",
599
+ flags: processedOptions.flags
597
600
  });
598
601
 
599
602
  const cacheFilePath = getCacheFile(
@@ -766,6 +769,17 @@ class ESLint {
766
769
  return createRulesMeta(resultRules);
767
770
  }
768
771
 
772
+ /**
773
+ * Indicates if the given feature flag is enabled for this instance.
774
+ * @param {string} flag The feature flag to check.
775
+ * @returns {boolean} `true` if the feature flag is enabled, `false` if not.
776
+ */
777
+ hasFlag(flag) {
778
+
779
+ // note: Linter does validation of the flags
780
+ return privateMembers.get(this).linter.hasFlag(flag);
781
+ }
782
+
769
783
  /**
770
784
  * Executes the current configuration on an array of file and directory names.
771
785
  * @param {string|string[]} patterns An array of file and directory names.
@@ -171,6 +171,7 @@ function processOptions({
171
171
  extensions = null, // ← should be null by default because if it's an array then it suppresses RFC20 feature.
172
172
  fix = false,
173
173
  fixTypes = null, // ← should be null by default because if it's an array then it suppresses rules that don't have the `meta.type` property.
174
+ flags, /* eslint-disable-line no-unused-vars -- leaving for compatibility with ESLint#hasFlag */
174
175
  globInputPaths = true,
175
176
  ignore = true,
176
177
  ignorePath = null, // ← should be null by default because if it's a string then it may throw ENOENT.
@@ -310,6 +311,7 @@ function processOptions({
310
311
  extensions,
311
312
  fix,
312
313
  fixTypes,
314
+ flags: [], // LegacyESLint does not support flags, so just ignore them.
313
315
  globInputPaths,
314
316
  ignore,
315
317
  ignorePath,
@@ -558,6 +560,18 @@ class LegacyESLint {
558
560
 
559
561
  }
560
562
 
563
+ /* eslint-disable no-unused-vars, class-methods-use-this -- leaving for compatibility with ESLint#hasFlag */
564
+ /**
565
+ * Indicates if the given feature flag is enabled for this instance. For this
566
+ * class, this always returns `false` because it does not support feature flags.
567
+ * @param {string} flag The feature flag to check.
568
+ * @returns {boolean} Always false.
569
+ */
570
+ hasFlag(flag) {
571
+ return false;
572
+ }
573
+ /* eslint-enable no-unused-vars, class-methods-use-this -- reenable rules for the rest of the file */
574
+
561
575
  /**
562
576
  * Executes the current configuration on an array of file and directory names.
563
577
  * @param {string[]} patterns An array of file and directory names.
@@ -20,7 +20,9 @@ const { validateLanguageOptions } = require("./validate-language-options");
20
20
  // Type Definitions
21
21
  //-----------------------------------------------------------------------------
22
22
 
23
- /** @typedef {import("../../linter/vfile").VFile} VFile */
23
+ /** @typedef {import("@eslint/core").File} File */
24
+ /** @typedef {import("@eslint/core").Language} Language */
25
+ /** @typedef {import("@eslint/core").OkParseResult} OkParseResult */
24
26
 
25
27
  //-----------------------------------------------------------------------------
26
28
  // Helpers
@@ -56,6 +58,9 @@ function analyzeScope(ast, languageOptions, visitorKeys) {
56
58
  // Exports
57
59
  //-----------------------------------------------------------------------------
58
60
 
61
+ /**
62
+ * @type {Language}
63
+ */
59
64
  module.exports = {
60
65
 
61
66
  fileType: "text",
@@ -143,7 +148,7 @@ module.exports = {
143
148
 
144
149
  /**
145
150
  * Parses the given file into an AST.
146
- * @param {VFile} file The virtual file to parse.
151
+ * @param {File} file The virtual file to parse.
147
152
  * @param {Object} options Additional options passed from ESLint.
148
153
  * @param {LanguageOptions} options.languageOptions The language options.
149
154
  * @returns {Object} The result of parsing.
@@ -200,7 +205,7 @@ module.exports = {
200
205
  } catch (ex) {
201
206
 
202
207
  // If the message includes a leading line number, strip it:
203
- const message = `Parsing error: ${ex.message.replace(/^line \d+:/iu, "").trim()}`;
208
+ const message = ex.message.replace(/^line \d+:/iu, "").trim();
204
209
 
205
210
  debug("%s\n%s", message, ex.stack);
206
211
 
@@ -218,8 +223,8 @@ module.exports = {
218
223
 
219
224
  /**
220
225
  * Creates a new `SourceCode` object from the given information.
221
- * @param {VFile} file The virtual file to create a `SourceCode` object from.
222
- * @param {Object} parseResult The result returned from `parse()`.
226
+ * @param {File} file The virtual file to create a `SourceCode` object from.
227
+ * @param {OkParseResult} parseResult The result returned from `parse()`.
223
228
  * @param {Object} options Additional options passed from ESLint.
224
229
  * @param {LanguageOptions} options.languageOptions The language options.
225
230
  * @returns {SourceCode} The new `SourceCode` object.
@@ -29,6 +29,10 @@ const
29
29
  //------------------------------------------------------------------------------
30
30
 
31
31
  /** @typedef {import("eslint-scope").Variable} Variable */
32
+ /** @typedef {import("eslint-scope").Scope} Scope */
33
+ /** @typedef {import("@eslint/core").SourceCode} ISourceCode */
34
+ /** @typedef {import("@eslint/core").Directive} IDirective */
35
+ /** @typedef {import("@eslint/core").TraversalStep} ITraversalStep */
32
36
 
33
37
  //------------------------------------------------------------------------------
34
38
  // Private
@@ -373,6 +377,7 @@ class TraversalStep {
373
377
 
374
378
  /**
375
379
  * A class to represent a directive comment.
380
+ * @implements {IDirective}
376
381
  */
377
382
  class Directive {
378
383
 
@@ -429,12 +434,13 @@ const caches = Symbol("caches");
429
434
 
430
435
  /**
431
436
  * Represents parsed source code.
437
+ * @implements {ISourceCode}
432
438
  */
433
439
  class SourceCode extends TokenStore {
434
440
 
435
441
  /**
436
442
  * The cache of steps that were taken while traversing the source code.
437
- * @type {Array<TraversalStep>}
443
+ * @type {Array<ITraversalStep>}
438
444
  */
439
445
  #steps;
440
446
 
@@ -838,7 +844,7 @@ class SourceCode extends TokenStore {
838
844
  /**
839
845
  * Gets the scope for the given node
840
846
  * @param {ASTNode} currentNode The node to get the scope of
841
- * @returns {eslint-scope.Scope} The scope information for this node
847
+ * @returns {Scope} The scope information for this node
842
848
  * @throws {TypeError} If the `currentNode` argument is missing.
843
849
  */
844
850
  getScope(currentNode) {
@@ -1099,7 +1105,7 @@ class SourceCode extends TokenStore {
1099
1105
  /**
1100
1106
  * Applies configuration found inside of the source code. This method is only
1101
1107
  * called when ESLint is running with inline configuration allowed.
1102
- * @returns {{problems:Array<Problem>,configs:{config:FlatConfigArray,node:ASTNode}}} Information
1108
+ * @returns {{problems:Array<Problem>,configs:{config:FlatConfigArray,loc:Location}}} Information
1103
1109
  * that ESLint needs to further process the inline configuration.
1104
1110
  */
1105
1111
  applyInlineConfig() {
@@ -1147,17 +1153,21 @@ class SourceCode extends TokenStore {
1147
1153
  break;
1148
1154
 
1149
1155
  case "eslint": {
1150
- const parseResult = commentParser.parseJsonConfig(directiveValue, comment.loc);
1156
+ const parseResult = commentParser.parseJsonConfig(directiveValue);
1151
1157
 
1152
1158
  if (parseResult.success) {
1153
1159
  configs.push({
1154
1160
  config: {
1155
1161
  rules: parseResult.config
1156
1162
  },
1157
- node: comment
1163
+ loc: comment.loc
1158
1164
  });
1159
1165
  } else {
1160
- problems.push(parseResult.error);
1166
+ problems.push({
1167
+ ruleId: null,
1168
+ loc: comment.loc,
1169
+ message: parseResult.error.message
1170
+ });
1161
1171
  }
1162
1172
 
1163
1173
  break;
@@ -10,6 +10,9 @@
10
10
  //------------------------------------------------------------------------------
11
11
 
12
12
  /** @typedef {import("../shared/types").LintMessage} LintMessage */
13
+ /** @typedef {import("@eslint/core").Language} Language */
14
+ /** @typedef {import("@eslint/core").Position} Position */
15
+ /** @typedef {import("@eslint/core").RulesConfig} RulesConfig */
13
16
 
14
17
  //------------------------------------------------------------------------------
15
18
  // Module Definition
@@ -24,8 +27,8 @@ const {
24
27
 
25
28
  /**
26
29
  * Compares the locations of two objects in a source file
27
- * @param {{line: number, column: number}} itemA The first object
28
- * @param {{line: number, column: number}} itemB The second object
30
+ * @param {Position} itemA The first object
31
+ * @param {Position} itemB The second object
29
32
  * @returns {number} A value less than 1 if itemA appears before itemB in the source file, greater than 1 if
30
33
  * itemA appears after itemB in the source file, or 0 if itemA and itemB have the same location.
31
34
  */
@@ -418,7 +421,7 @@ function applyDirectives(options) {
418
421
  * @param {{ruleId: (string|null), line: number, column: number}[]} options.problems
419
422
  * A list of problems reported by rules, sorted by increasing location in the file, with one-based columns.
420
423
  * @param {"off" | "warn" | "error"} options.reportUnusedDisableDirectives If `"warn"` or `"error"`, adds additional problems for unused directives
421
- * @param {Object} options.configuredRules The rules configuration.
424
+ * @param {RulesConfig} options.configuredRules The rules configuration.
422
425
  * @param {Function} options.ruleFilter A predicate function to filter which rules should be executed.
423
426
  * @param {boolean} options.disableFixes If true, it doesn't make `fix` properties.
424
427
  * @returns {{ruleId: (string|null), line: number, column: number, suppressions?: {kind: string, justification: string}}[]}
@@ -22,12 +22,6 @@ const levn = require("levn"),
22
22
 
23
23
  const debug = require("debug")("eslint:config-comment-parser");
24
24
 
25
- //------------------------------------------------------------------------------
26
- // Typedefs
27
- //------------------------------------------------------------------------------
28
-
29
- /** @typedef {import("../shared/types").LintMessage} LintMessage */
30
-
31
25
  //------------------------------------------------------------------------------
32
26
  // Public Interface
33
27
  //------------------------------------------------------------------------------
@@ -69,10 +63,9 @@ module.exports = class ConfigCommentParser {
69
63
  /**
70
64
  * Parses a JSON-like config.
71
65
  * @param {string} string The string to parse.
72
- * @param {Object} location Start line and column of comments for potential error message.
73
- * @returns {({success: true, config: Object}|{success: false, error: LintMessage})} Result map object
66
+ * @returns {({success: true, config: Object}|{success: false, error: {message: string}})} Result map object
74
67
  */
75
- parseJsonConfig(string, location) {
68
+ parseJsonConfig(string) {
76
69
  debug("Parsing JSON config");
77
70
 
78
71
  // Parses a JSON-like comment by the same way as parsing CLI option.
@@ -115,13 +108,7 @@ module.exports = class ConfigCommentParser {
115
108
  return {
116
109
  success: false,
117
110
  error: {
118
- ruleId: null,
119
- fatal: true,
120
- severity: 2,
121
- message: `Failed to parse JSON from '${normalizedString}': ${ex.message}`,
122
- line: location.start.line,
123
- column: location.start.column + 1,
124
- nodeType: null
111
+ message: `Failed to parse JSON from '${normalizedString}': ${ex.message}`
125
112
  }
126
113
  };
127
114