@microsoft/powerquery-language-services 0.3.20 → 0.3.23

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.
@@ -215,7 +215,7 @@ function inspectEachExpression(state, eachExpr, correlationId) {
215
215
  eachExpression: eachExpr,
216
216
  },
217
217
  ],
218
- ], undefined, trace.id);
218
+ ], localGetOrCreateNodeScope(state, eachExpr.node.id, undefined, trace.id), trace.id);
219
219
  trace.exit();
220
220
  }
221
221
  function inspectFunctionExpression(state, fnExpr, correlationId) {
@@ -1 +1 @@
1
- {"version":3,"file":"scopeInspection.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeInspection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scopeInspection.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeInspection.ts"],"names":[],"mappings":"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"}
@@ -47,80 +47,91 @@ function validateDuplicateIdentifiers(textDocument, validationSettings) {
47
47
  const documentUri = textDocument.uri;
48
48
  const nodeIdMapCollection = maybeNodeIdMapCollection;
49
49
  const result = [
50
- ...validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, updatedSettings),
51
- ...validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, updatedSettings),
52
- ...validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, updatedSettings),
50
+ ...validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, updatedSettings, trace.id),
51
+ ...validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, updatedSettings, trace.id),
52
+ ...validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, updatedSettings, trace.id),
53
53
  ];
54
54
  trace.exit();
55
55
  return result;
56
56
  });
57
57
  }
58
58
  exports.validateDuplicateIdentifiers = validateDuplicateIdentifiers;
59
- function validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, validationSettings) {
59
+ function validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, validationSettings, correlationId) {
60
60
  var _a;
61
- const letIds = [
62
- ...((_a = nodeIdMapCollection.idsByNodeKind.get("LetExpression" /* LetExpression */)) !== null && _a !== void 0 ? _a : []),
63
- ];
64
- return validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, letIds, parser_1.NodeIdMapIterator.iterLetExpression, validationSettings);
61
+ const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validateDuplicateIdentifiersForLetExpresion.name, correlationId);
62
+ const letIds = (_a = nodeIdMapCollection.idsByNodeKind.get("LetExpression" /* LetExpression */)) !== null && _a !== void 0 ? _a : new Set();
63
+ const result = validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, [letIds], parser_1.NodeIdMapIterator.iterLetExpression, validationSettings, trace.id);
64
+ trace.exit();
65
+ return result;
65
66
  }
66
- function validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, validationSettings) {
67
- var _a, _b, _c;
67
+ function validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, validationSettings, correlationId) {
68
+ var _a, _b;
69
+ const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validateDuplicateIdentifiersForRecord.name, correlationId);
68
70
  const recordIds = [
69
- ...((_a = nodeIdMapCollection.idsByNodeKind.get("RecordExpression" /* RecordExpression */)) !== null && _a !== void 0 ? _a : []),
70
- ...((_b = nodeIdMapCollection.idsByNodeKind.get("RecordLiteral" /* RecordLiteral */)) !== null && _b !== void 0 ? _b : []),
71
- ...((_c = nodeIdMapCollection.idsByNodeKind.get("RecordType" /* RecordType */)) !== null && _c !== void 0 ? _c : []),
71
+ (_a = nodeIdMapCollection.idsByNodeKind.get("RecordExpression" /* RecordExpression */)) !== null && _a !== void 0 ? _a : new Set(),
72
+ (_b = nodeIdMapCollection.idsByNodeKind.get("RecordLiteral" /* RecordLiteral */)) !== null && _b !== void 0 ? _b : new Set(),
72
73
  ];
73
- return validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, recordIds, parser_1.NodeIdMapIterator.iterRecord, validationSettings);
74
+ const result = validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, recordIds, parser_1.NodeIdMapIterator.iterRecord, validationSettings, trace.id);
75
+ trace.exit();
76
+ return result;
74
77
  }
75
- function validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, validationSettings) {
78
+ function validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, validationSettings, correlationId) {
76
79
  var _a;
77
- const recordIds = [...((_a = nodeIdMapCollection.idsByNodeKind.get("Section" /* Section */)) !== null && _a !== void 0 ? _a : [])];
78
- return validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, recordIds, parser_1.NodeIdMapIterator.iterSection, validationSettings);
80
+ const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validateDuplicateIdentifiersForSection.name, correlationId);
81
+ const sectionIds = (_a = nodeIdMapCollection.idsByNodeKind.get("Section" /* Section */)) !== null && _a !== void 0 ? _a : new Set();
82
+ const result = validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, [sectionIds], parser_1.NodeIdMapIterator.iterSection, validationSettings, trace.id);
83
+ trace.exit();
84
+ return result;
79
85
  }
80
86
  // Generalized logic for iterating over some collection and their children, essentially by doing:
81
87
  // for node in nodeIds:
82
88
  // for childOfNode in iterNodeFn(node):
83
89
  // ...
84
- function validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, nodeIds, iterNodeFn, validationSettings) {
85
- if (!nodeIds.length) {
90
+ function validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, nodeIdCollections, iterNodeFn, validationSettings, correlationId) {
91
+ const numIds = nodeIdCollections.reduce((partial, set) => partial + set.size, 0);
92
+ const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validateDuplicateIdentifiersForKeyValuePair.name, correlationId, { numIds });
93
+ if (!numIds) {
86
94
  return [];
87
95
  }
88
96
  const result = [];
89
- for (const nodeId of nodeIds) {
90
- const node = parser_1.NodeIdMapUtils.assertGetXor(nodeIdMapCollection, nodeId);
91
- const duplicateFieldsByKey = new Map();
92
- const knownFieldByKey = new Map();
93
- for (const field of iterNodeFn(nodeIdMapCollection, node)) {
94
- const keyLiteral = field.normalizedKeyLiteral;
95
- const maybeDuplicateFields = duplicateFieldsByKey.get(keyLiteral);
96
- const maybeKnownField = knownFieldByKey.get(keyLiteral);
97
- if (maybeDuplicateFields) {
98
- maybeDuplicateFields.push(field);
97
+ for (const collection of nodeIdCollections) {
98
+ for (const nodeId of collection) {
99
+ const node = parser_1.NodeIdMapUtils.assertGetXor(nodeIdMapCollection, nodeId);
100
+ const duplicateFieldsByKey = new Map();
101
+ const knownFieldByKey = new Map();
102
+ for (const field of iterNodeFn(nodeIdMapCollection, node)) {
103
+ const keyLiteral = field.normalizedKeyLiteral;
104
+ const maybeDuplicateFields = duplicateFieldsByKey.get(keyLiteral);
105
+ const maybeKnownField = knownFieldByKey.get(keyLiteral);
106
+ if (maybeDuplicateFields) {
107
+ maybeDuplicateFields.push(field);
108
+ }
109
+ else if (maybeKnownField) {
110
+ duplicateFieldsByKey.set(keyLiteral, [field, maybeKnownField]);
111
+ }
112
+ else {
113
+ knownFieldByKey.set(keyLiteral, field);
114
+ }
99
115
  }
100
- else if (maybeKnownField) {
101
- duplicateFieldsByKey.set(keyLiteral, [field, maybeKnownField]);
102
- }
103
- else {
104
- knownFieldByKey.set(keyLiteral, field);
105
- }
106
- }
107
- for (const duplicates of duplicateFieldsByKey.values()) {
108
- const numFields = duplicates.length;
109
- const asRelatedInformation = duplicates.map((keyValuePair) => ({
110
- location: {
111
- uri: documentUri,
112
- range: __1.PositionUtils.createRangeFromTokenRange(keyValuePair.key.tokenRange),
113
- },
114
- message: createDuplicateIdentifierDiagnosticMessage(keyValuePair, validationSettings),
115
- }));
116
- for (let index = 0; index < numFields; index += 1) {
117
- const duplicate = duplicates[index];
118
- // Grab all DiagnosticRelatedInformation for a given key besides the one we're iterating over.
119
- const relatedInformation = asRelatedInformation.filter((_, relatedIndex) => index !== relatedIndex);
120
- result.push(createDuplicateIdentifierDiagnostic(duplicate, relatedInformation, validationSettings));
116
+ for (const duplicates of duplicateFieldsByKey.values()) {
117
+ const numFields = duplicates.length;
118
+ const asRelatedInformation = duplicates.map((keyValuePair) => ({
119
+ location: {
120
+ uri: documentUri,
121
+ range: __1.PositionUtils.createRangeFromTokenRange(keyValuePair.key.tokenRange),
122
+ },
123
+ message: createDuplicateIdentifierDiagnosticMessage(keyValuePair, validationSettings),
124
+ }));
125
+ for (let index = 0; index < numFields; index += 1) {
126
+ const duplicate = duplicates[index];
127
+ // Grab all DiagnosticRelatedInformation for a given key besides the one we're iterating over.
128
+ const relatedInformation = asRelatedInformation.filter((_, relatedIndex) => index !== relatedIndex);
129
+ result.push(createDuplicateIdentifierDiagnostic(duplicate, relatedInformation, validationSettings));
130
+ }
121
131
  }
122
132
  }
123
133
  }
134
+ trace.exit();
124
135
  return result;
125
136
  }
126
137
  function createDuplicateIdentifierDiagnostic(keyValuePair, relatedInformation, validationSettings) {
@@ -1 +1 @@
1
- {"version":3,"file":"validateDuplicateIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateDuplicateIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.validateUnknownIdentifiers = void 0;
15
15
  const powerquery_parser_1 = require("@microsoft/powerquery-parser");
16
16
  const vscode_languageserver_types_1 = require("vscode-languageserver-types");
17
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
18
  const __1 = require("..");
18
19
  const localization_1 = require("../localization");
19
20
  const jaroWinkler_1 = require("../jaroWinkler");
@@ -26,13 +27,23 @@ function validateUnknownIdentifiers(validationSettings, nodeIdMapCollection, typ
26
27
  const updatedSettings = Object.assign(Object.assign({}, validationSettings), { maybeInitialCorrelationId: trace.id });
27
28
  // Grab all identifiers in the value context.
28
29
  const identifierValues = findIdentifierValues(nodeIdMapCollection);
29
- // Create a zipped collection of [value identifier, TriedNodeScope for the value identifier]
30
+ // Create a zipped collection of: [
31
+ // value identifier,
32
+ // value identifier expression | undefined (if it exists),
33
+ // TriedNodeScope for the value identifier
34
+ // ]
30
35
  const identifiersAndTriedNodeScopes = yield powerquery_parser_1.ArrayUtils.mapAsync(identifierValues, (identifier) => __awaiter(this, void 0, void 0, function* () {
31
36
  return [
32
37
  identifier,
38
+ parser_1.NodeIdMapUtils.maybeParentAstChecked(nodeIdMapCollection, identifier.id, "IdentifierExpression" /* IdentifierExpression */),
33
39
  yield __1.Inspection.tryNodeScope(updatedSettings, nodeIdMapCollection, identifier.id, typeCache.scopeById),
34
40
  ];
35
41
  }));
42
+ // Creates a zipped collection of: [
43
+ // unknown identifier | unknown identifier expression,
44
+ // unknown identifier literal,
45
+ // Jaro Winkler suggestion for the unknown literal if above a certain score threshold,
46
+ // ]
36
47
  const unknownIdentifiers = findUnknownIdentifiers(validationSettings, identifiersAndTriedNodeScopes, trace.id);
37
48
  const result = unknownIdentifiersToDiagnostics(updatedSettings, unknownIdentifiers);
38
49
  trace.exit();
@@ -61,20 +72,23 @@ function findUnknownIdentifiers(validationSettings, identifiersAndTriedNodeScope
61
72
  const unknownIdentifiers = [];
62
73
  const numIdentifiers = identifiersAndTriedNodeScopes.length;
63
74
  for (let index = 0; index < numIdentifiers; index += 1) {
64
- const [identifier, triedNodeScope] = identifiersAndTriedNodeScopes[index];
75
+ const [identifier, maybeIdentifierExpression, triedNodeScope] = identifiersAndTriedNodeScopes[index];
65
76
  if (powerquery_parser_1.ResultUtils.isError(triedNodeScope)) {
66
77
  continue;
67
78
  }
68
79
  const nodeScope = triedNodeScope.value;
69
- if (!nodeScope.has(identifier.literal) &&
70
- !validationSettings.library.libraryDefinitions.has(identifier.literal)) {
80
+ const literal = maybeIdentifierExpression && maybeIdentifierExpression.maybeInclusiveConstant !== undefined
81
+ ? `@${identifier.literal}`
82
+ : identifier.literal;
83
+ if (!nodeScope.has(literal) && !validationSettings.library.libraryDefinitions.has(literal)) {
71
84
  const knownIdentifiers = [
72
85
  ...nodeScope.keys(),
73
86
  ...validationSettings.library.libraryDefinitions.keys(),
74
87
  ];
75
- const [jaroWinklerScore, suggestion] = (0, jaroWinkler_1.calculateJaroWinklers)(identifier.literal, knownIdentifiers);
88
+ const [jaroWinklerScore, suggestion] = (0, jaroWinkler_1.calculateJaroWinklers)(literal, knownIdentifiers);
76
89
  unknownIdentifiers.push([
77
- identifier,
90
+ maybeIdentifierExpression !== null && maybeIdentifierExpression !== void 0 ? maybeIdentifierExpression : identifier,
91
+ literal,
78
92
  jaroWinklerScore > JaroWinklerSuggestionThreshold ? suggestion : undefined,
79
93
  ]);
80
94
  }
@@ -84,9 +98,9 @@ function findUnknownIdentifiers(validationSettings, identifiersAndTriedNodeScope
84
98
  }
85
99
  function unknownIdentifiersToDiagnostics(validationSettings, unknownIdentifiers) {
86
100
  const templates = localization_1.LocalizationUtils.getLocalizationTemplates(validationSettings.locale);
87
- return unknownIdentifiers.map(([identifier, maybeSuggestion]) => ({
101
+ return unknownIdentifiers.map(([identifier, literal, maybeSuggestion]) => ({
88
102
  code: diagnosticErrorCode_1.DiagnosticErrorCode.UnknownIdentifier,
89
- message: localization_1.Localization.error_validation_unknownIdentifier(templates, identifier.literal, maybeSuggestion),
103
+ message: localization_1.Localization.error_validation_unknownIdentifier(templates, literal, maybeSuggestion),
90
104
  range: __1.PositionUtils.createRangeFromTokenRange(identifier.tokenRange),
91
105
  severity: vscode_languageserver_types_1.DiagnosticSeverity.Error,
92
106
  source: validationSettings.source,
@@ -1 +1 @@
1
- {"version":3,"file":"validateUnknownIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateUnknownIdentifiers.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oEAAuE;AACvE,6EAA6E;AAK7E,0BAA+C;AAC/C,kDAAkE;AAClE,gDAAuD;AACvD,gEAA6D;AAM7D,yEAAyE;AACzE,MAAM,8BAA8B,GAAW,GAAG,CAAC;AAEnD,SAAsB,0BAA0B,CAC5C,kBAAsC,EACtC,mBAAyC,EACzC,SAA+B;;QAE/B,MAAM,KAAK,GAAU,kBAAkB,CAAC,YAAY,CAAC,KAAK,gCAEtD,0BAA0B,CAAC,IAAI,EAC/B,kBAAkB,CAAC,yBAAyB,CAC/C,CAAC;QAEF,MAAM,eAAe,mCACd,kBAAkB,KACrB,yBAAyB,EAAE,KAAK,CAAC,EAAE,GACtC,CAAC;QAEF,6CAA6C;QAC7C,MAAM,gBAAgB,GAAkC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAElG,4FAA4F;QAC5F,MAAM,6BAA6B,GAAoD,MAAM,8BAAU,CAAC,QAAQ,CAG9G,gBAAgB,EAAE,CAAO,UAA0B,EAAE,EAAE;YAAC,OAAA;gBACtD,UAAU;gBACV,MAAM,cAAU,CAAC,YAAY,CAAC,eAAe,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC;aAC1G,CAAA;UAAA,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAwD,sBAAsB,CAClG,kBAAkB,EAClB,6BAA6B,EAC7B,KAAK,CAAC,EAAE,CACX,CAAC;QAEF,MAAM,MAAM,GAAiB,+BAA+B,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAClG,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AAtCD,gEAsCC;AAED,SAAS,oBAAoB,CAAC,mBAAyC;IACnE,MAAM,gBAAgB,GAA4B,mBAAmB,CAAC,aAAa,CAAC,GAAG,+BAAyB,CAAC;IAEjH,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAChC,OAAO,EAAE,CAAC;KACb;IAED,MAAM,WAAW,GAA0B,mBAAmB,CAAC,WAAW,CAAC;IAC3E,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,KAAK,MAAM,YAAY,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE;QAClD,MAAM,eAAe,GAA+B,WAAW,CAAC,GAAG,CAAC,YAAY,CAAmB,CAAC;QAEpG,IACI,eAAe,KAAK,SAAS;YAC7B,eAAe,CAAC,qBAAqB,wBAAoC,EAC3E;YACE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAChC;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAC3B,kBAAsC,EACtC,6BAA8E,EAC9E,aAAqB;IAErB,MAAM,KAAK,GAAU,kBAAkB,CAAC,YAAY,CAAC,KAAK,gCAEtD,sBAAsB,CAAC,IAAI,EAC3B,aAAa,CAChB,CAAC;IAEF,MAAM,kBAAkB,GAA2C,EAAE,CAAC;IACtE,MAAM,cAAc,GAAW,6BAA6B,CAAC,MAAM,CAAC;IAEpE,KAAK,IAAI,KAAK,GAAW,CAAC,EAAE,KAAK,GAAG,cAAc,EAAE,KAAK,IAAI,CAAC,EAAE;QAC5D,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAqC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAE5G,IAAI,+BAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACrC,SAAS;SACZ;QAED,MAAM,SAAS,GAAyB,cAAc,CAAC,KAAK,CAAC;QAE7D,IACI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAClC,CAAC,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EACxE;YACE,MAAM,gBAAgB,GAA0B;gBAC5C,GAAG,SAAS,CAAC,IAAI,EAAE;gBACnB,GAAG,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE;aAC1D,CAAC;YAEF,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAqB,IAAA,mCAAqB,EAC1E,UAAU,CAAC,OAAO,EAClB,gBAAgB,CACnB,CAAC;YAEF,kBAAkB,CAAC,IAAI,CAAC;gBACpB,UAAU;gBACV,gBAAgB,GAAG,8BAA8B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAC7E,CAAC,CAAC;SACN;KACJ;IAED,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AAED,SAAS,+BAA+B,CACpC,kBAAsC,EACtC,kBAAuE;IAEvE,MAAM,SAAS,GAA2B,gCAAiB,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEhH,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,eAAe,CAAuC,EAAE,EAAE,CAAC,CAAC;QACpG,IAAI,EAAE,yCAAmB,CAAC,iBAAiB;QAC3C,OAAO,EAAE,2BAAY,CAAC,kCAAkC,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC;QACxG,KAAK,EAAE,iBAAa,CAAC,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC;QACrE,QAAQ,EAAE,gDAAkB,CAAC,KAAK;QAClC,MAAM,EAAE,kBAAkB,CAAC,MAAM;KACpC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"validateUnknownIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateUnknownIdentifiers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/powerquery-language-services",
3
- "version": "0.3.20",
3
+ "version": "0.3.23",
4
4
  "author": "Microsoft",
5
5
  "license": "MIT",
6
6
  "scripts": {