@theia/plugin-dev 1.66.0-next.44 → 1.66.0-next.73

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.
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import * as cp from 'child_process';
3
3
  import { HostedPluginSupport } from '@theia/plugin-ext/lib/hosted/node/hosted-plugin';
4
+ import { ProcessUtils } from '@theia/core/lib/node/process-utils';
4
5
  export declare const HostedPluginsManager: unique symbol;
5
6
  export interface HostedPluginsManager {
6
7
  /**
@@ -24,6 +25,7 @@ export interface HostedPluginsManager {
24
25
  }
25
26
  export declare class HostedPluginsManagerImpl implements HostedPluginsManager {
26
27
  protected readonly hostedPluginSupport: HostedPluginSupport;
28
+ protected readonly processUtils: ProcessUtils;
27
29
  protected watchCompilationRegistry: Map<string, cp.ChildProcess>;
28
30
  constructor();
29
31
  runWatchCompilation(uri: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-plugins-manager.d.ts","sourceRoot":"","sources":["../../src/node/hosted-plugins-manager.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AAKpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAGtF,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IAEjC;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;OAIG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;OAIG;IACH,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,qBACa,wBAAyB,YAAW,oBAAoB;IAGjE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,SAAS,CAAC,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;;IAMjE,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C,OAAO,CAAC,eAAe;IASvB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,SAAS,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQ7D;;;;OAIG;cACa,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYzE"}
1
+ {"version":3,"file":"hosted-plugins-manager.d.ts","sourceRoot":"","sources":["../../src/node/hosted-plugins-manager.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AAIpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IAEjC;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;OAIG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;OAIG;IACH,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,qBACa,wBAAyB,YAAW,oBAAoB;IAGjE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAE9C,SAAS,CAAC,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;;IAMjE,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C,OAAO,CAAC,eAAe;IAIvB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,SAAS,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQ7D;;;;OAIG;cACa,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYzE"}
@@ -19,12 +19,12 @@ exports.HostedPluginsManagerImpl = exports.HostedPluginsManager = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
21
  const cp = require("child_process");
22
- const processTree = require("ps-tree");
23
22
  const fs = require("@theia/core/shared/fs-extra");
24
23
  const path = require("path");
25
24
  const node_1 = require("@theia/core/lib/node");
26
25
  const hosted_plugin_1 = require("@theia/plugin-ext/lib/hosted/node/hosted-plugin");
27
26
  const types_1 = require("@theia/plugin-ext/lib/common/types");
27
+ const process_utils_1 = require("@theia/core/lib/node/process-utils");
28
28
  exports.HostedPluginsManager = Symbol('HostedPluginsManager');
29
29
  let HostedPluginsManagerImpl = class HostedPluginsManagerImpl {
30
30
  constructor() {
@@ -45,12 +45,7 @@ let HostedPluginsManagerImpl = class HostedPluginsManagerImpl {
45
45
  return this.runWatchScript(pluginRootPath);
46
46
  }
47
47
  killProcessTree(parentPid) {
48
- processTree(parentPid, (err, childProcesses) => {
49
- childProcesses.forEach((p) => {
50
- process.kill(parseInt(p.PID));
51
- });
52
- process.kill(parentPid);
53
- });
48
+ this.processUtils.terminateProcessTree(parentPid);
54
49
  }
55
50
  stopWatchCompilation(uri) {
56
51
  const pluginPath = node_1.FileUri.fsPath(uri);
@@ -105,6 +100,10 @@ tslib_1.__decorate([
105
100
  (0, inversify_1.inject)(hosted_plugin_1.HostedPluginSupport),
106
101
  tslib_1.__metadata("design:type", hosted_plugin_1.HostedPluginSupport)
107
102
  ], HostedPluginsManagerImpl.prototype, "hostedPluginSupport", void 0);
103
+ tslib_1.__decorate([
104
+ (0, inversify_1.inject)(process_utils_1.ProcessUtils),
105
+ tslib_1.__metadata("design:type", process_utils_1.ProcessUtils)
106
+ ], HostedPluginsManagerImpl.prototype, "processUtils", void 0);
108
107
  exports.HostedPluginsManagerImpl = HostedPluginsManagerImpl = tslib_1.__decorate([
109
108
  (0, inversify_1.injectable)(),
110
109
  tslib_1.__metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-plugins-manager.js","sourceRoot":"","sources":["../../src/node/hosted-plugins-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted-plugins-manager.js","sourceRoot":"","sources":["../../src/node/hosted-plugins-manager.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,oCAAoC;AACpC,kDAAkD;AAClD,6BAA6B;AAC7B,+CAA+C;AAC/C,mFAAsF;AACtF,8DAA6D;AAC7D,sEAAkE;AAErD,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AA2B5D,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAUjC;QACI,IAAI,CAAC,wBAAwB,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC3B,MAAM,cAAc,GAAG,cAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,cAAc,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;gBAC7B,IAAI,EAAE,YAAY,GAAG,GAAG,GAAG,6BAA6B;gBACxD,IAAI,EAAE,eAAO,CAAC,KAAK;aACtB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAEO,eAAe,CAAC,SAAiB;QACrC,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,oBAAoB,CAAC,GAAW;QAC5B,MAAM,UAAU,GAAG,cAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAI,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,yBAAyB,CAAC,GAAW;QACjC,MAAM,UAAU,GAAG,cAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEvC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAES,cAAc,CAAC,cAAsB;QAC3C,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YAC7B,IAAI,EAAE,0CAA0C,GAAG,cAAc;YACjE,IAAI,EAAE,eAAO,CAAC,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAES,qBAAqB,CAAC,cAAsB;QAClD,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YAC7B,IAAI,EAAE,0CAA0C,GAAG,cAAc;YACjE,IAAI,EAAE,eAAO,CAAC,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QAC/C,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ,CAAA;AA3FY,4DAAwB;AAGd;IADlB,IAAA,kBAAM,EAAC,mCAAmB,CAAC;sCACY,mCAAmB;qEAAC;AAGzC;IADlB,IAAA,kBAAM,EAAC,4BAAY,CAAC;sCACY,4BAAY;8DAAC;mCANrC,wBAAwB;IADpC,IAAA,sBAAU,GAAE;;GACA,wBAAwB,CA2FpC"}
package/package.json CHANGED
@@ -1,17 +1,16 @@
1
1
  {
2
2
  "name": "@theia/plugin-dev",
3
- "version": "1.66.0-next.44+5b6e49d13",
3
+ "version": "1.66.0-next.73+6d82794da",
4
4
  "description": "Theia - Plugin Development Extension",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@theia/core": "1.66.0-next.44+5b6e49d13",
9
- "@theia/debug": "1.66.0-next.44+5b6e49d13",
10
- "@theia/filesystem": "1.66.0-next.44+5b6e49d13",
11
- "@theia/output": "1.66.0-next.44+5b6e49d13",
12
- "@theia/plugin-ext": "1.66.0-next.44+5b6e49d13",
13
- "@theia/workspace": "1.66.0-next.44+5b6e49d13",
14
- "ps-tree": "^1.2.0",
8
+ "@theia/core": "1.66.0-next.73+6d82794da",
9
+ "@theia/debug": "1.66.0-next.73+6d82794da",
10
+ "@theia/filesystem": "1.66.0-next.73+6d82794da",
11
+ "@theia/output": "1.66.0-next.73+6d82794da",
12
+ "@theia/plugin-ext": "1.66.0-next.73+6d82794da",
13
+ "@theia/workspace": "1.66.0-next.73+6d82794da",
15
14
  "tslib": "^2.6.2"
16
15
  },
17
16
  "publishConfig": {
@@ -54,5 +53,5 @@
54
53
  "nyc": {
55
54
  "extends": "../../configs/nyc.json"
56
55
  },
57
- "gitHead": "5b6e49d139f9abbb18e233f138497a33a0758222"
56
+ "gitHead": "6d82794da24e16f75d70eaac3a4178a29e822e82"
58
57
  }
@@ -16,12 +16,12 @@
16
16
 
17
17
  import { inject, injectable } from '@theia/core/shared/inversify';
18
18
  import * as cp from 'child_process';
19
- import * as processTree from 'ps-tree';
20
19
  import * as fs from '@theia/core/shared/fs-extra';
21
20
  import * as path from 'path';
22
21
  import { FileUri } from '@theia/core/lib/node';
23
22
  import { HostedPluginSupport } from '@theia/plugin-ext/lib/hosted/node/hosted-plugin';
24
23
  import { LogType } from '@theia/plugin-ext/lib/common/types';
24
+ import { ProcessUtils } from '@theia/core/lib/node/process-utils';
25
25
 
26
26
  export const HostedPluginsManager = Symbol('HostedPluginsManager');
27
27
 
@@ -55,6 +55,9 @@ export class HostedPluginsManagerImpl implements HostedPluginsManager {
55
55
  @inject(HostedPluginSupport)
56
56
  protected readonly hostedPluginSupport: HostedPluginSupport;
57
57
 
58
+ @inject(ProcessUtils)
59
+ protected readonly processUtils: ProcessUtils;
60
+
58
61
  protected watchCompilationRegistry: Map<string, cp.ChildProcess>;
59
62
 
60
63
  constructor() {
@@ -80,12 +83,7 @@ export class HostedPluginsManagerImpl implements HostedPluginsManager {
80
83
  }
81
84
 
82
85
  private killProcessTree(parentPid: number): void {
83
- processTree(parentPid, (err: Error, childProcesses: Array<processTree.PS>) => {
84
- childProcesses.forEach((p: processTree.PS) => {
85
- process.kill(parseInt(p.PID));
86
- });
87
- process.kill(parentPid);
88
- });
86
+ this.processUtils.terminateProcessTree(parentPid);
89
87
  }
90
88
 
91
89
  stopWatchCompilation(uri: string): Promise<void> {