Skip to content

Commit 58a4d69

Browse files
authored
Bump deps (#505)
Update svelte, svelte-preprocess, css ls, magic-string, vscode-uri, prettier-plugin-svelte #323, #474
1 parent c3f9ad0 commit 58a4d69

File tree

13 files changed

+77
-84
lines changed

13 files changed

+77
-84
lines changed

packages/language-server/package.json

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,19 +49,18 @@
4949
"cosmiconfig": "^6.0.0",
5050
"estree-walker": "^2.0.1",
5151
"lodash": "^4.17.19",
52-
"magic-string": "^0.25.3",
53-
"prettier": "2.0.5",
54-
"prettier-plugin-svelte": "~1.1.1",
52+
"prettier": "2.1.1",
53+
"prettier-plugin-svelte": "~1.2.0",
5554
"source-map": "^0.7.3",
56-
"svelte": "3.24.0",
57-
"svelte-preprocess": "~3.9.11",
55+
"svelte": "3.24.1",
56+
"svelte-preprocess": "~4.2.0",
5857
"svelte2tsx": "*",
5958
"typescript": "*",
60-
"vscode-css-languageservice": "4.1.0",
59+
"vscode-css-languageservice": "4.2.0",
6160
"vscode-emmet-helper": "1.2.17",
6261
"vscode-html-languageservice": "3.0.4-next.15",
6362
"vscode-languageserver": "6.1.1",
6463
"vscode-languageserver-types": "3.15.1",
65-
"vscode-uri": "2.1.1"
64+
"vscode-uri": "2.1.2"
6665
}
6766
}

packages/language-server/src/lib/documents/DocumentMapper.ts

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
import {
22
Position,
33
Range,
4-
TextEdit,
5-
Location,
64
CompletionItem,
75
Hover,
86
Diagnostic,
9-
ColorInformation,
107
ColorPresentation,
118
SymbolInformation,
129
LocationLink,
@@ -217,20 +214,6 @@ export function mapRangeToGenerated(fragment: DocumentMapper, range: Range): Ran
217214
);
218215
}
219216

220-
export function mapTextEditToOriginal(
221-
fragment: Pick<DocumentMapper, 'getOriginalPosition'>,
222-
edit: TextEdit,
223-
): TextEdit {
224-
return { ...edit, range: mapRangeToOriginal(fragment, edit.range) };
225-
}
226-
227-
export function mapLocationToOriginal(
228-
fragment: Pick<DocumentMapper, 'getOriginalPosition'>,
229-
loc: Location,
230-
): Location {
231-
return { ...loc, range: mapRangeToOriginal(fragment, loc.range) };
232-
}
233-
234217
export function mapCompletionItemToOriginal(
235218
fragment: Pick<DocumentMapper, 'getOriginalPosition'>,
236219
item: CompletionItem,
@@ -239,7 +222,7 @@ export function mapCompletionItemToOriginal(
239222
return item;
240223
}
241224

242-
return { ...item, textEdit: mapTextEditToOriginal(fragment, item.textEdit) };
225+
return { ...item, textEdit: mapObjWithRangeToOriginal(fragment, item.textEdit) };
243226
}
244227

245228
export function mapHoverToParent(
@@ -253,11 +236,11 @@ export function mapHoverToParent(
253236
return { ...hover, range: mapRangeToOriginal(fragment, hover.range) };
254237
}
255238

256-
export function mapDiagnosticToOriginal(
239+
export function mapObjWithRangeToOriginal<T extends {range: Range}>(
257240
fragment: Pick<DocumentMapper, 'getOriginalPosition'>,
258-
diagnostic: Diagnostic,
259-
): Diagnostic {
260-
return { ...diagnostic, range: mapRangeToOriginal(fragment, diagnostic.range) };
241+
objWithRange: T,
242+
): T {
243+
return { ...objWithRange, range: mapRangeToOriginal(fragment, objWithRange.range) };
261244
}
262245

263246
export function mapDiagnosticToGenerated(
@@ -267,12 +250,6 @@ export function mapDiagnosticToGenerated(
267250
return { ...diagnostic, range: mapRangeToGenerated(fragment, diagnostic.range) };
268251
}
269252

270-
export function mapColorInformationToOriginal(
271-
fragment: Pick<DocumentMapper, 'getOriginalPosition'>,
272-
info: ColorInformation,
273-
): ColorInformation {
274-
return { ...info, range: mapRangeToOriginal(fragment, info.range) };
275-
}
276253

277254
export function mapColorPresentationToOriginal(
278255
fragment: Pick<DocumentMapper, 'getOriginalPosition'>,
@@ -283,12 +260,12 @@ export function mapColorPresentationToOriginal(
283260
};
284261

285262
if (item.textEdit) {
286-
item.textEdit = mapTextEditToOriginal(fragment, item.textEdit);
263+
item.textEdit = mapObjWithRangeToOriginal(fragment, item.textEdit);
287264
}
288265

289266
if (item.additionalTextEdits) {
290267
item.additionalTextEdits = item.additionalTextEdits.map((edit) =>
291-
mapTextEditToOriginal(fragment, edit),
268+
mapObjWithRangeToOriginal(fragment, edit),
292269
);
293270
}
294271

@@ -299,7 +276,7 @@ export function mapSymbolInformationToOriginal(
299276
fragment: Pick<DocumentMapper, 'getOriginalPosition'>,
300277
info: SymbolInformation,
301278
): SymbolInformation {
302-
return { ...info, location: mapLocationToOriginal(fragment, info.location) };
279+
return { ...info, location: mapObjWithRangeToOriginal(fragment, info.location) };
303280
}
304281

305282
export function mapLocationLinkToOriginal(
@@ -327,7 +304,7 @@ export function mapTextDocumentEditToOriginal(fragment: DocumentMapper, edit: Te
327304

328305
return TextDocumentEdit.create(
329306
edit.textDocument,
330-
edit.edits.map((textEdit) => mapTextEditToOriginal(fragment, textEdit)),
307+
edit.edits.map((textEdit) => mapObjWithRangeToOriginal(fragment, textEdit)),
331308
);
332309
}
333310

packages/language-server/src/lib/documents/configLoader.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ function useFallbackPreprocessor(path: string, foundConfig: boolean): SvelteConf
7474
);
7575
return {
7676
preprocess: importSveltePreprocess(path)({
77-
typescript: { transpileOnly: true, compilerOptions: { sourceMap: true } },
77+
// 4.x does not have transpileOnly anymore, but if the user has version 3.x
78+
// in his repo, that one is loaded instead, for which we still need this.
79+
typescript: <any>{ transpileOnly: true, compilerOptions: { sourceMap: true } },
7880
}),
7981
};
8082
}

packages/language-server/src/plugins/css/CSSPlugin.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@ import {
1515
import {
1616
Document,
1717
DocumentManager,
18-
mapColorInformationToOriginal,
1918
mapColorPresentationToOriginal,
2019
mapCompletionItemToOriginal,
21-
mapDiagnosticToOriginal,
22-
mapHoverToParent,
2320
mapRangeToGenerated,
2421
mapSymbolInformationToOriginal,
22+
mapObjWithRangeToOriginal,
23+
mapHoverToParent,
2524
} from '../../lib/documents';
2625
import { LSConfigManager, LSCSSConfig } from '../../ls-config';
2726
import {
@@ -76,7 +75,7 @@ export class CSSPlugin
7675
return getLanguageService(kind)
7776
.doValidation(cssDocument, cssDocument.stylesheet)
7877
.map((diagnostic) => ({ ...diagnostic, source: getLanguage(kind) }))
79-
.map((diagnostic) => mapDiagnosticToOriginal(cssDocument, diagnostic));
78+
.map((diagnostic) => mapObjWithRangeToOriginal(cssDocument, diagnostic));
8079
}
8180

8281
doHover(document: Document, position: Position): Hover | null {
@@ -171,7 +170,7 @@ export class CSSPlugin
171170

172171
return getLanguageService(extractLanguage(cssDocument))
173172
.findDocumentColors(cssDocument, cssDocument.stylesheet)
174-
.map((colorInfo) => mapColorInformationToOriginal(cssDocument, colorInfo));
173+
.map((colorInfo) => mapObjWithRangeToOriginal(cssDocument, colorInfo));
175174
}
176175

177176
getColorPresentations(document: Document, range: Range, color: Color): ColorPresentation[] {

packages/language-server/src/plugins/svelte/features/getCodeActions/getQuickfixes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
TextEdit,
1212
VersionedTextDocumentIdentifier,
1313
} from 'vscode-languageserver';
14-
import { mapTextEditToOriginal, offsetAt, positionAt } from '../../../../lib/documents';
14+
import { mapObjWithRangeToOriginal, offsetAt, positionAt } from '../../../../lib/documents';
1515
import { pathToUrl } from '../../../../utils';
1616
import { SvelteDocument } from '../../SvelteDocument';
1717
import ts from 'typescript';
@@ -119,7 +119,7 @@ async function getSvelteIgnoreEdit(svelteDoc: SvelteDocument, ast: Ast, diagnost
119119
const ignore = `${indent}<!-- svelte-ignore ${code} -->${EOL}`;
120120
const position = Position.create(nodeStartPosition.line, 0);
121121

122-
return mapTextEditToOriginal(transpiled, TextEdit.insert(position, ignore));
122+
return mapObjWithRangeToOriginal(transpiled, TextEdit.insert(position, ignore));
123123
}
124124

125125
const elementOrComponent = ['Component', 'Element', 'InlineComponent'];

packages/language-server/src/plugins/svelte/features/getDiagnostics.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Warning } from 'svelte/types/compiler/interfaces';
22
import { Diagnostic, DiagnosticSeverity, Position, Range } from 'vscode-languageserver';
3-
import { Document, isInTag, mapDiagnosticToOriginal } from '../../../lib/documents';
3+
import { Document, isInTag, mapObjWithRangeToOriginal } from '../../../lib/documents';
44
import { Logger } from '../../../logger';
55
import { SvelteDocument, TranspileErrorSource } from '../SvelteDocument';
66
import { CompilerWarningsSettings } from '../../../ls-config';
@@ -53,10 +53,10 @@ async function tryGetDiagnostics(
5353
code: warning.code,
5454
};
5555
})
56-
.map((diag) => mapDiagnosticToOriginal(transpiled, diag));
56+
.map((diag) => mapObjWithRangeToOriginal(transpiled, diag));
5757
} catch (err) {
5858
return (await createParserErrorDiagnostic(err, document)).map((diag) =>
59-
mapDiagnosticToOriginal(transpiled, diag),
59+
mapObjWithRangeToOriginal(transpiled, diag),
6060
);
6161
}
6262
}

packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import ts from 'typescript';
22
import { Diagnostic, DiagnosticSeverity } from 'vscode-languageserver';
3-
import { Document, mapDiagnosticToOriginal, getTextInRange } from '../../../lib/documents';
3+
import { Document, mapObjWithRangeToOriginal, getTextInRange } from '../../../lib/documents';
44
import { DiagnosticsProvider } from '../../interfaces';
55
import { LSAndTSDocResolver } from '../LSAndTSDocResolver';
66
import { convertRange, mapSeverity } from '../utils';
@@ -42,7 +42,7 @@ export class DiagnosticsProviderImpl implements DiagnosticsProvider {
4242
message: ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'),
4343
code: diagnostic.code,
4444
}))
45-
.map((diagnostic) => mapDiagnosticToOriginal(fragment, diagnostic))
45+
.map((diagnostic) => mapObjWithRangeToOriginal(fragment, diagnostic))
4646
.filter(hasNoNegativeLines)
4747
.filter(isNoFalsePositive(document.getText(), tsDoc));
4848
}

packages/language-server/src/plugins/typescript/features/HoverProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import ts from 'typescript';
22
import { Hover, Position } from 'vscode-languageserver';
3-
import { Document, getWordAt, mapHoverToParent } from '../../../lib/documents';
3+
import { Document, getWordAt, mapObjWithRangeToOriginal } from '../../../lib/documents';
44
import { HoverProvider } from '../../interfaces';
55
import { SvelteDocumentSnapshot, SvelteSnapshotFragment } from '../DocumentSnapshot';
66
import { LSAndTSDocResolver } from '../LSAndTSDocResolver';
@@ -38,7 +38,7 @@ export class HoverProviderImpl implements HoverProvider {
3838
.concat(documentation ? ['---', documentation] : [])
3939
.join('\n');
4040

41-
return mapHoverToParent(fragment, {
41+
return mapObjWithRangeToOriginal(fragment, {
4242
range: convertRange(fragment, info.textSpan),
4343
contents,
4444
});

packages/language-server/test/lib/documents/Document.test.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ describe('Document', () => {
2828
const document = new Document('file:///hello.svelte', '<script>a</script><style>b</style>');
2929
assert.deepEqual(document.scriptInfo, {
3030
content: 'a',
31-
attributes: {},
31+
attributes: {
32+
lang: 'javascript',
33+
},
3234
start: 8,
3335
end: 9,
3436
startPos: Position.create(0, 8),
@@ -37,7 +39,9 @@ describe('Document', () => {
3739
});
3840
assert.deepEqual(document.styleInfo, {
3941
content: 'b',
40-
attributes: {},
42+
attributes: {
43+
lang: 'css',
44+
},
4145
start: 25,
4246
end: 26,
4347
startPos: Position.create(0, 25),
@@ -48,7 +52,9 @@ describe('Document', () => {
4852
document.setText('<script>b</script>');
4953
assert.deepEqual(document.scriptInfo, {
5054
content: 'b',
51-
attributes: {},
55+
attributes: {
56+
lang: 'javascript',
57+
},
5258
start: 8,
5359
end: 9,
5460
startPos: Position.create(0, 8),

packages/language-server/test/plugins/css/CSSPlugin.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ describe('CSS Plugin', () => {
5656
value:
5757
'Defines character set of the document.\n\n[MDN Reference](https://developer.mozilla.org/docs/Web/CSS/@charset)',
5858
},
59+
sortText: "d_0000",
5960
textEdit: TextEdit.insert(Position.create(0, 7), '@charset'),
60-
sortText: 'd_0000',
6161
tags: [],
6262
});
6363
});

0 commit comments

Comments
 (0)