astro-vscode 0.8.9 → 0.8.10

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # astro-vscode
2
2
 
3
+ ## 0.8.10
4
+
5
+ ### Patch Changes
6
+
7
+ - 8878324: Add feature to reload language server on ts/jsconfig change
8
+ - Updated dependencies [5b16fb4]
9
+ - @astrojs/language-server@0.8.10
10
+
3
11
  ## 0.8.9
4
12
 
5
13
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
- import * as vscode from 'vscode';
2
- /** */
3
- export declare function activate(context: vscode.ExtensionContext): Promise<void>;
1
+ import { ExtensionContext } from 'vscode';
2
+ import { LanguageClient } from 'vscode-languageclient/node';
3
+ export declare function activate(context: ExtensionContext): Promise<{
4
+ getLanguageServer: () => LanguageClient;
5
+ }>;
package/dist/index.js CHANGED
@@ -1,26 +1,9 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
5
  var __getProtoOf = Object.getPrototypeOf;
9
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
7
  var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
25
8
  var __export = (target, all) => {
26
9
  for (var name in all)
@@ -41,50 +24,40 @@ __markAsModule(exports);
41
24
  __export(exports, {
42
25
  activate: () => activate
43
26
  });
44
- var vscode = __toModule(require("vscode"));
45
- var lsp = __toModule(require("vscode-languageclient/node.js"));
27
+ var import_vscode = __toModule(require("vscode"));
28
+ var import_node = __toModule(require("vscode-languageclient/node"));
46
29
  var import_autoClose = __toModule(require("./html/autoClose.js"));
47
- let docClient;
48
- const TagCloseRequest = new lsp.RequestType("html/tag");
30
+ const TagCloseRequest = new import_node.RequestType("html/tag");
49
31
  async function activate(context) {
50
- docClient = createLanguageService(context, "doc", "astro", "Astro", 6040);
51
- await docClient.onReady();
52
- }
53
- function createLanguageService(context, mode, id, name, port) {
54
- const {workspace} = vscode;
55
32
  const serverModule = require.resolve("@astrojs/language-server/bin/server.js");
33
+ const port = 6040;
56
34
  const debugOptions = {execArgv: ["--nolazy", "--inspect=" + port]};
57
35
  const serverOptions = {
58
- run: {module: serverModule, transport: lsp.TransportKind.ipc},
36
+ run: {module: serverModule, transport: import_node.TransportKind.ipc},
59
37
  debug: {
60
38
  module: serverModule,
61
- transport: lsp.TransportKind.ipc,
39
+ transport: import_node.TransportKind.ipc,
62
40
  options: debugOptions
63
41
  }
64
42
  };
65
- const serverInitOptions = {
66
- mode,
67
- appRoot: vscode.env.appRoot,
68
- language: vscode.env.language
69
- };
70
43
  const clientOptions = {
71
44
  documentSelector: [{scheme: "file", language: "astro"}],
72
45
  synchronize: {
73
46
  configurationSection: ["astro", "javascript", "typescript", "prettier"],
74
- fileEvents: workspace.createFileSystemWatcher("{**/*.js,**/*.ts}", false, false, false)
47
+ fileEvents: import_vscode.workspace.createFileSystemWatcher("{**/*.js,**/*.ts}", false, false, false)
75
48
  },
76
- initializationOptions: __spreadProps(__spreadValues({}, serverInitOptions), {
49
+ initializationOptions: {
77
50
  configuration: {
78
- astro: workspace.getConfiguration("astro"),
79
- prettier: workspace.getConfiguration("prettier"),
80
- emmet: workspace.getConfiguration("emmet"),
81
- typescript: workspace.getConfiguration("typescript"),
82
- javascript: workspace.getConfiguration("javascript")
51
+ astro: import_vscode.workspace.getConfiguration("astro"),
52
+ prettier: import_vscode.workspace.getConfiguration("prettier"),
53
+ emmet: import_vscode.workspace.getConfiguration("emmet"),
54
+ typescript: import_vscode.workspace.getConfiguration("typescript"),
55
+ javascript: import_vscode.workspace.getConfiguration("javascript")
83
56
  },
84
57
  dontFilterIncompleteCompletions: true
85
- })
58
+ }
86
59
  };
87
- const client = new lsp.LanguageClient(id, name, serverOptions, clientOptions);
60
+ let client = createLanguageServer(serverOptions, clientOptions);
88
61
  context.subscriptions.push(client.start());
89
62
  client.onReady().then(() => {
90
63
  const tagRequestor = (document, position) => {
@@ -96,10 +69,43 @@ function createLanguageService(context, mode, id, name, port) {
96
69
  }).catch((err) => {
97
70
  console.error("Astro, unable to load language server.", err);
98
71
  });
99
- return client;
72
+ import_vscode.workspace.onDidSaveTextDocument(async (doc) => {
73
+ var _a;
74
+ const fileName = (_a = doc.fileName.split(/\/|\\/).pop()) != null ? _a : doc.fileName;
75
+ if ([/^tsconfig\.json$/, /^jsconfig\.json$/, /^astro\.config\.(js|cjs|mjs|ts)$/].some((regex) => regex.test(fileName))) {
76
+ await restartClient(false);
77
+ }
78
+ });
79
+ context.subscriptions.push(import_vscode.commands.registerCommand("astro.restartLanguageServer", async () => {
80
+ await restartClient(true);
81
+ }));
82
+ let restartingClient = false;
83
+ async function restartClient(showNotification) {
84
+ if (restartingClient) {
85
+ return;
86
+ }
87
+ restartingClient = true;
88
+ await client.stop();
89
+ client = createLanguageServer(serverOptions, clientOptions);
90
+ context.subscriptions.push(client.start());
91
+ await client.onReady();
92
+ if (showNotification) {
93
+ import_vscode.window.showInformationMessage("Astro language server restarted.");
94
+ }
95
+ restartingClient = false;
96
+ }
97
+ function getLSClient() {
98
+ return client;
99
+ }
100
+ return {
101
+ getLanguageServer: getLSClient
102
+ };
103
+ }
104
+ function createLanguageServer(serverOptions, clientOptions) {
105
+ return new import_node.LanguageClient("astro", "Astro", serverOptions, clientOptions);
100
106
  }
101
107
  // Annotate the CommonJS export names for ESM import in node:
102
108
  0 && (module.exports = {
103
109
  activate
104
110
  });
105
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxhQUF3QjtBQUN4QixVQUFxQjtBQUNyQix1QkFBbUM7QUFFbkMsSUFBSTtBQUVKLE1BQU0sa0JBQWdGLElBQUksSUFBSSxZQUFZO0FBRzFHLHdCQUErQixTQUFrQztBQUMvRCxjQUFZLHNCQUFzQixTQUFTLE9BQU8sU0FBUyxTQUFTO0FBRXBFLFFBQU0sVUFBVTtBQUFBO0FBSWxCLCtCQUErQixTQUFrQyxNQUFhLElBQVksTUFBYyxNQUFjO0FBQ3BILFFBQU0sQ0FBRSxhQUFjO0FBQ3RCLFFBQU0sZUFBK0I7QUFDckMsUUFBTSxlQUFlLENBQUUsVUFBVSxDQUFDLFlBQVksZUFBZTtBQUM3RCxRQUFNLGdCQUFtQztBQUFBLElBQ3ZDLEtBQUssQ0FBRSxRQUFRLGNBQWMsV0FBVyxJQUFJLGNBQWM7QUFBQSxJQUMxRCxPQUFPO0FBQUEsTUFDTCxRQUFRO0FBQUEsTUFDUixXQUFXLElBQUksY0FBYztBQUFBLE1BQzdCLFNBQVM7QUFBQTtBQUFBO0FBR2IsUUFBTSxvQkFBeUI7QUFBQSxJQUM3QjtBQUFBLElBQ0EsU0FBUyxPQUFPLElBQUk7QUFBQSxJQUNwQixVQUFVLE9BQU8sSUFBSTtBQUFBO0FBRXZCLFFBQU0sZ0JBQTJDO0FBQUEsSUFDL0Msa0JBQWtCLENBQUMsQ0FBRSxRQUFRLFFBQVEsVUFBVTtBQUFBLElBQy9DLGFBQWE7QUFBQSxNQUNYLHNCQUFzQixDQUFDLFNBQVMsY0FBYyxjQUFjO0FBQUEsTUFDNUQsWUFBWSxVQUFVLHdCQUF3QixxQkFBcUIsT0FBTyxPQUFPO0FBQUE7QUFBQSxJQUVuRix1QkFBdUIsaUNBQ2xCLG9CQURrQjtBQUFBLE1BRXJCLGVBQWU7QUFBQSxRQUNiLE9BQU8sVUFBVSxpQkFBaUI7QUFBQSxRQUNsQyxVQUFVLFVBQVUsaUJBQWlCO0FBQUEsUUFDckMsT0FBTyxVQUFVLGlCQUFpQjtBQUFBLFFBQ2xDLFlBQVksVUFBVSxpQkFBaUI7QUFBQSxRQUN2QyxZQUFZLFVBQVUsaUJBQWlCO0FBQUE7QUFBQSxNQUV6QyxpQ0FBaUM7QUFBQTtBQUFBO0FBR3JDLFFBQU0sU0FBUyxJQUFJLElBQUksZUFBZSxJQUFJLE1BQU0sZUFBZTtBQUUvRCxVQUFRLGNBQWMsS0FBSyxPQUFPO0FBRWxDLFNBQ0csVUFDQSxLQUFLLE1BQU07QUFDVixVQUFNLGVBQWUsQ0FBQyxVQUErQixhQUE4QjtBQUNqRixZQUFNLFFBQVEsT0FBTyx1QkFBdUIsNkJBQTZCLFVBQVU7QUFDbkYsYUFBTyxPQUFPLFlBQVksaUJBQWlCO0FBQUE7QUFFN0MsVUFBTSxhQUFhLHlDQUFtQixjQUFjLENBQUUsT0FBTyxPQUFRO0FBQ3JFLFlBQVEsY0FBYyxLQUFLO0FBQUEsS0FFNUIsTUFBTSxDQUFDLFFBQVE7QUFDZCxZQUFRLE1BQU0sMENBQTBDO0FBQUE7QUFHNUQsU0FBTztBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
111
+ //# sourceMappingURL=data:application/json;base64,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
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "color": "#FFBE2D",
9
9
  "theme": "dark"
10
10
  },
11
- "version": "0.8.9",
11
+ "version": "0.8.10",
12
12
  "author": "withastro",
13
13
  "license": "MIT",
14
14
  "publisher": "astro-build",
@@ -24,7 +24,7 @@
24
24
  "onLanguage:astro"
25
25
  ],
26
26
  "dependencies": {
27
- "@astrojs/language-server": "0.8.9",
27
+ "@astrojs/language-server": "0.8.10",
28
28
  "@astrojs/ts-plugin": "0.1.1",
29
29
  "vscode-emmet-helper": "2.1.2",
30
30
  "vscode-html-languageservice": "^3.0.3",
@@ -53,6 +53,12 @@
53
53
  "enableForWorkspaceTypeScriptVersions": true
54
54
  }
55
55
  ],
56
+ "commands": [
57
+ {
58
+ "command": "astro.restartLanguageServer",
59
+ "title": "Astro: Restart Language Server"
60
+ }
61
+ ],
56
62
  "configuration": {
57
63
  "type": "object",
58
64
  "title": "Astro configuration",