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.
- checksums.yaml +4 -4
- data/lib/immosquare-cleaner/version.rb +1 -1
- data/node_modules/@eslint/config-array/README.md +9 -3
- data/node_modules/@eslint/config-array/dist/cjs/index.cjs +1 -0
- data/node_modules/@eslint/config-array/dist/esm/index.js +1 -0
- data/node_modules/@eslint/config-array/package.json +2 -2
- data/node_modules/@eslint/eslintrc/node_modules/espree/LICENSE +25 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/README.md +244 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/dist/espree.cjs +883 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/espree.js +177 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/lib/espree.js +349 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/lib/features.js +27 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/lib/options.js +123 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/lib/token-translator.js +263 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/lib/version.js +3 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/CHANGELOG.md +880 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/LICENSE +21 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/README.md +283 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/bin/acorn +4 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/acorn.d.mts +857 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/acorn.d.ts +857 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/acorn.js +6002 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/acorn.mjs +5973 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/dist/bin.js +90 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/node_modules/acorn/package.json +50 -0
- data/node_modules/@eslint/eslintrc/node_modules/espree/package.json +86 -0
- data/node_modules/@eslint/js/package.json +1 -1
- data/node_modules/@eslint-community/regexpp/index.d.ts +19 -5
- data/node_modules/@eslint-community/regexpp/index.js +138 -17
- data/node_modules/@eslint-community/regexpp/index.js.map +1 -1
- data/node_modules/@eslint-community/regexpp/index.mjs +138 -17
- data/node_modules/@eslint-community/regexpp/index.mjs.map +1 -1
- data/node_modules/@eslint-community/regexpp/package.json +1 -3
- data/node_modules/acorn/CHANGELOG.md +24 -0
- data/node_modules/acorn/README.md +5 -6
- data/node_modules/acorn/dist/acorn.d.mts +8 -9
- data/node_modules/acorn/dist/acorn.d.ts +8 -9
- data/node_modules/acorn/dist/acorn.js +92 -29
- data/node_modules/acorn/dist/acorn.mjs +92 -29
- data/node_modules/acorn/package.json +3 -3
- data/node_modules/eslint/README.md +7 -8
- data/node_modules/eslint/conf/ecma-version.js +1 -1
- data/node_modules/eslint/conf/globals.js +6 -1
- data/node_modules/eslint/lib/cli.js +23 -2
- data/node_modules/eslint/lib/eslint/eslint-helpers.js +5 -0
- data/node_modules/eslint/lib/eslint/eslint.js +16 -2
- data/node_modules/eslint/lib/eslint/legacy-eslint.js +14 -0
- data/node_modules/eslint/lib/languages/js/index.js +10 -5
- data/node_modules/eslint/lib/languages/js/source-code/source-code.js +16 -6
- data/node_modules/eslint/lib/linter/apply-disable-directives.js +6 -3
- data/node_modules/eslint/lib/linter/config-comment-parser.js +3 -16
- data/node_modules/eslint/lib/linter/linter.js +194 -149
- data/node_modules/eslint/lib/linter/node-event-generator.js +2 -4
- data/node_modules/eslint/lib/linter/vfile.js +7 -0
- data/node_modules/eslint/lib/options.js +13 -1
- data/node_modules/eslint/lib/rules/no-restricted-imports.js +12 -5
- data/node_modules/eslint/lib/rules/no-unused-vars.js +34 -32
- data/node_modules/eslint/lib/rules/no-useless-backreference.js +81 -31
- data/node_modules/eslint/lib/rules/utils/regular-expressions.js +1 -1
- data/node_modules/eslint/lib/shared/flags.js +26 -0
- data/node_modules/eslint/lib/shared/logging.js +10 -1
- data/node_modules/eslint/lib/shared/types.js +1 -1
- data/node_modules/eslint/package.json +9 -13
- data/node_modules/eslint-scope/dist/eslint-scope.cjs +2 -2
- data/node_modules/eslint-scope/lib/referencer.js +1 -1
- data/node_modules/eslint-scope/lib/version.js +1 -1
- data/node_modules/eslint-scope/package.json +2 -2
- data/node_modules/espree/README.md +5 -5
- data/node_modules/espree/dist/espree.cjs +62 -6
- data/node_modules/espree/espree.js +1 -4
- data/node_modules/espree/lib/options.js +3 -2
- data/node_modules/espree/lib/token-translator.js +1 -1
- data/node_modules/espree/lib/version.js +1 -1
- data/node_modules/espree/package.json +7 -7
- data/node_modules/js-tokens/CHANGELOG.md +17 -0
- data/node_modules/js-tokens/LICENSE +1 -1
- data/node_modules/js-tokens/README.md +25 -7
- data/node_modules/js-tokens/index.js +3 -3
- data/node_modules/js-tokens/package.json +5 -5
- data/node_modules/jscodeshift/CHANGELOG.md +5 -0
- data/node_modules/jscodeshift/bin/jscodeshift.js +1 -1
- data/node_modules/jscodeshift/package.json +1 -2
- data/node_modules/jscodeshift/website/index.htm +9 -0
- data/node_modules/prettier/LICENSE +35 -34
- data/node_modules/prettier/doc.js +2 -2
- data/node_modules/prettier/doc.mjs +2 -2
- data/node_modules/prettier/index.cjs +8 -8
- data/node_modules/prettier/index.d.ts +1 -2
- data/node_modules/prettier/index.mjs +636 -704
- data/node_modules/prettier/internal/cli.mjs +4 -4
- data/node_modules/prettier/package.json +1 -1
- data/node_modules/prettier/plugins/acorn.js +14 -12
- data/node_modules/prettier/plugins/acorn.mjs +14 -12
- data/node_modules/prettier/plugins/angular.js +1 -1
- data/node_modules/prettier/plugins/angular.mjs +1 -1
- data/node_modules/prettier/plugins/babel.js +10 -11
- data/node_modules/prettier/plugins/babel.mjs +10 -11
- data/node_modules/prettier/plugins/estree.js +27 -27
- data/node_modules/prettier/plugins/estree.mjs +27 -27
- data/node_modules/prettier/plugins/flow.js +15 -16
- data/node_modules/prettier/plugins/flow.mjs +15 -16
- data/node_modules/prettier/plugins/glimmer.js +5 -5
- data/node_modules/prettier/plugins/glimmer.mjs +5 -5
- data/node_modules/prettier/plugins/graphql.js +8 -8
- data/node_modules/prettier/plugins/graphql.mjs +8 -8
- data/node_modules/prettier/plugins/html.js +17 -17
- data/node_modules/prettier/plugins/html.mjs +17 -17
- data/node_modules/prettier/plugins/markdown.js +44 -44
- data/node_modules/prettier/plugins/markdown.mjs +44 -44
- data/node_modules/prettier/plugins/meriyah.js +4 -5
- data/node_modules/prettier/plugins/meriyah.mjs +4 -5
- data/node_modules/prettier/plugins/postcss.js +26 -26
- data/node_modules/prettier/plugins/postcss.mjs +26 -26
- data/node_modules/prettier/plugins/typescript.js +15 -20
- data/node_modules/prettier/plugins/typescript.mjs +15 -20
- data/node_modules/prettier/plugins/yaml.js +6 -6
- data/node_modules/prettier/plugins/yaml.mjs +6 -6
- data/node_modules/prettier/standalone.js +31 -30
- data/node_modules/prettier/standalone.mjs +28 -27
- data/package.json +4 -4
- 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
|
-
|
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("
|
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 {
|
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 =
|
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 {
|
222
|
-
* @param {
|
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<
|
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 {
|
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,
|
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
|
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
|
-
|
1163
|
+
loc: comment.loc
|
1158
1164
|
});
|
1159
1165
|
} else {
|
1160
|
-
problems.push(
|
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 {
|
28
|
-
* @param {
|
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 {
|
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
|
-
* @
|
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
|
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
|
-
|
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
|
|