@theia/application-manager 1.57.1 → 1.58.0

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.
@@ -15,7 +15,7 @@ export declare class ApplicationProcess {
15
15
  canRun(command: string): boolean;
16
16
  run(command: string, args: string[], options?: cp.SpawnOptions): Promise<void>;
17
17
  spawnBin(command: string, args: string[], options?: cp.SpawnOptions): cp.ChildProcess;
18
- protected resolveBin(command: string): string;
18
+ protected resolveBin(rootPath: string, command: string): string | undefined;
19
19
  protected promisify(command: string, p: cp.ChildProcess): Promise<void>;
20
20
  }
21
21
  //# sourceMappingURL=application-process.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application-process.d.ts","sourceRoot":"","sources":["../src/application-process.ts"],"names":[],"mappings":";;AAkBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,qBAAa,kBAAkB;IAQvB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM;IAP7C,SAAS,CAAC,QAAQ,CAAC,cAAc;;;MAG/B;gBAGqB,GAAG,EAAE,kBAAkB,EACvB,cAAc,EAAE,MAAM;IAG7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY;IAOnF,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,YAAY;IAIpF,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIhC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY;IAQrF,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAK7C,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB1E"}
1
+ {"version":3,"file":"application-process.d.ts","sourceRoot":"","sources":["../src/application-process.ts"],"names":[],"mappings":";;AAkBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,qBAAa,kBAAkB;IAQvB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM;IAP7C,SAAS,CAAC,QAAQ,CAAC,cAAc;;;MAG/B;gBAGqB,GAAG,EAAE,kBAAkB,EACvB,cAAc,EAAE,MAAM;IAG7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY;IAOnF,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,YAAY;IAIpF,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKhC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY;IAWrF,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAe3E,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB1E"}
@@ -38,22 +38,36 @@ class ApplicationProcess {
38
38
  return cp.fork(modulePath, args, Object.assign({}, this.defaultOptions, options));
39
39
  }
40
40
  canRun(command) {
41
- return fs.existsSync(this.resolveBin(command));
41
+ const binPath = this.resolveBin(this.binProjectPath, command);
42
+ return !!binPath && fs.existsSync(binPath);
42
43
  }
43
44
  run(command, args, options) {
44
45
  const commandProcess = this.spawnBin(command, args, options);
45
46
  return this.promisify(command, commandProcess);
46
47
  }
47
48
  spawnBin(command, args, options) {
48
- const binPath = this.resolveBin(command);
49
+ const binPath = this.resolveBin(this.binProjectPath, command);
50
+ if (!binPath) {
51
+ throw new Error(`Could not resolve ${command} relative to ${this.binProjectPath}`);
52
+ }
49
53
  return this.spawn(binPath, args, {
50
54
  ...options,
51
55
  shell: true
52
56
  });
53
57
  }
54
- resolveBin(command) {
55
- const commandPath = path.resolve(this.binProjectPath, 'node_modules', '.bin', command);
56
- return process.platform === 'win32' ? commandPath + '.cmd' : commandPath;
58
+ resolveBin(rootPath, command) {
59
+ let commandPath = path.resolve(rootPath, 'node_modules', '.bin', command);
60
+ if (process.platform === 'win32') {
61
+ commandPath = commandPath + '.cmd';
62
+ }
63
+ if (fs.existsSync(commandPath)) {
64
+ return commandPath;
65
+ }
66
+ const parentDir = path.dirname(rootPath);
67
+ if (parentDir === rootPath) {
68
+ return undefined;
69
+ }
70
+ return this.resolveBin(parentDir, command);
57
71
  }
58
72
  promisify(command, p) {
59
73
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"application-process.js","sourceRoot":"","sources":["../src/application-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-process.js","sourceRoot":"","sources":["../src/application-process.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ export declare class WebpackGenerator extends AbstractGenerator {
5
5
  get configPath(): string;
6
6
  get genConfigPath(): string;
7
7
  get genNodeConfigPath(): string;
8
- protected resolve(moduleName: string, path: string): string;
9
8
  protected compileWebpackConfig(): string;
10
9
  protected compileUserWebpackConfig(): string;
11
10
  protected compileNodeWebpackConfig(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"webpack-generator.d.ts","sourceRoot":"","sources":["../../src/generator/webpack-generator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,gBAAiB,SAAQ,iBAAiB;IAE7C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;cAUf,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAC;IAQnE,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3D,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAmQxC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAyB5C,SAAS,CAAC,wBAAwB,IAAI,MAAM;CAqK/C"}
1
+ {"version":3,"file":"webpack-generator.d.ts","sourceRoot":"","sources":["../../src/generator/webpack-generator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,gBAAiB,SAAQ,iBAAiB;IAE7C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;cAUf,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAC;IAQnE,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,SAAS,CAAC,oBAAoB,IAAI,MAAM;IA0QxC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAyB5C,SAAS,CAAC,wBAAwB,IAAI,MAAM;CAsL/C"}
@@ -45,9 +45,6 @@ class WebpackGenerator extends abstract_generator_1.AbstractGenerator {
45
45
  get genNodeConfigPath() {
46
46
  return this.pck.path('gen-webpack.node.config.js');
47
47
  }
48
- resolve(moduleName, path) {
49
- return this.pck.resolveModulePath(moduleName, path).split(paths.sep).join('/');
50
- }
51
48
  compileWebpackConfig() {
52
49
  return `/**
53
50
  * Don't touch this file. It will be regenerated by theia build.
@@ -59,8 +56,9 @@ const webpack = require('webpack');
59
56
  const yargs = require('yargs');
60
57
  const resolvePackagePath = require('resolve-package-path');
61
58
  const CopyWebpackPlugin = require('copy-webpack-plugin');
62
- const CompressionPlugin = require('compression-webpack-plugin')
63
- const MiniCssExtractPlugin = require('mini-css-extract-plugin')
59
+ const CompressionPlugin = require('compression-webpack-plugin');
60
+ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
61
+ const { MonacoWebpackPlugin } = require('@theia/native-webpack-plugin/lib/monaco-webpack-plugins.js');
64
62
 
65
63
  const outputPath = path.resolve(__dirname, 'lib', 'frontend');
66
64
  const { mode, staticCompression } = yargs.option('mode', {
@@ -97,7 +95,8 @@ const plugins = [
97
95
  new webpack.ProvidePlugin({
98
96
  // the Buffer class doesn't exist in the browser but some dependencies rely on it
99
97
  Buffer: ['buffer', 'Buffer']
100
- })
98
+ }),
99
+ new MonacoWebpackPlugin()
101
100
  ];
102
101
  // it should go after copy-plugin in order to compress monaco as well
103
102
  if (staticCompression) {
@@ -169,6 +168,10 @@ module.exports = [{
169
168
  test: /source-map-support/,
170
169
  loader: 'ignore-loader'
171
170
  },
171
+ {
172
+ test: /\\.d\\.ts$/,
173
+ loader: 'ignore-loader'
174
+ },
172
175
  {
173
176
  test: /\\.js$/,
174
177
  enforce: 'pre',
@@ -238,6 +241,7 @@ module.exports = [{
238
241
  filename: "[name].css",
239
242
  chunkFilename: "[id].css",
240
243
  }),
244
+ new MonacoWebpackPlugin(),
241
245
  ],
242
246
  devtool: 'source-map',
243
247
  entry: {
@@ -341,6 +345,7 @@ const yargs = require('yargs');
341
345
  const webpack = require('webpack');
342
346
  const TerserPlugin = require('terser-webpack-plugin');
343
347
  const NativeWebpackPlugin = require('@theia/native-webpack-plugin');
348
+ const { MonacoWebpackPlugin } = require('@theia/native-webpack-plugin/lib/monaco-webpack-plugins.js');
344
349
 
345
350
  const { mode } = yargs.option('mode', {
346
351
  description: "Mode to use",
@@ -384,6 +389,15 @@ const nativePlugin = new NativeWebpackPlugin({
384
389
  }
385
390
  });
386
391
 
392
+ ${this.ifPackage('@theia/process', () => `// Ensure that node-pty is correctly hoisted
393
+ try {
394
+ require.resolve('node-pty');
395
+ } catch {
396
+ console.error('"node-pty" dependency is not installed correctly. Ensure that it is available in the root node_modules directory.');
397
+ console.error('Exiting webpack build process.');
398
+ process.exit(1);
399
+ }`)}
400
+
387
401
  /** @type {import('webpack').Configuration} */
388
402
  const config = {
389
403
  mode,
@@ -428,6 +442,10 @@ const config = {
428
442
  name: 'native/[name].[ext]'
429
443
  }
430
444
  },
445
+ {
446
+ test: /\\.d\\.ts$/,
447
+ loader: 'ignore-loader'
448
+ },
431
449
  {
432
450
  test: /\\.js$/,
433
451
  enforce: 'pre',
@@ -447,7 +465,8 @@ const config = {
447
465
  // Optional node dependencies can be safely ignored
448
466
  new webpack.IgnorePlugin({
449
467
  checkResource: resource => ignoredResources.has(resource)
450
- })
468
+ }),
469
+ new MonacoWebpackPlugin()
451
470
  ],
452
471
  optimization: {
453
472
  // Split and reuse code across the various entry points
@@ -468,6 +487,8 @@ const config = {
468
487
  ignoreWarnings: [
469
488
  // Some packages do not have source maps, that's ok
470
489
  /Failed to parse source map/,
490
+ // require with expressions are not supported
491
+ /the request of a dependency is an expression/,
471
492
  // Some packages use dynamic requires, we can safely ignore them (they are handled by the native webpack plugin)
472
493
  /require function is used in a way in which dependencies cannot be statically extracted/, {
473
494
  module: /yargs/
@@ -1 +1 @@
1
- {"version":3,"file":"webpack-generator.js","sourceRoot":"","sources":["../../src/generator/webpack-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webpack-generator.js","sourceRoot":"","sources":["../../src/generator/webpack-generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/application-manager",
3
- "version": "1.57.1",
3
+ "version": "1.58.0",
4
4
  "description": "Theia application manager API.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -33,9 +33,9 @@
33
33
  "@babel/plugin-transform-classes": "^7.10.0",
34
34
  "@babel/plugin-transform-runtime": "^7.10.0",
35
35
  "@babel/preset-env": "^7.10.0",
36
- "@theia/application-package": "1.57.1",
37
- "@theia/ffmpeg": "1.57.1",
38
- "@theia/native-webpack-plugin": "1.57.1",
36
+ "@theia/application-package": "1.58.0",
37
+ "@theia/ffmpeg": "1.58.0",
38
+ "@theia/native-webpack-plugin": "1.58.0",
39
39
  "@types/fs-extra": "^4.0.2",
40
40
  "@types/semver": "^7.5.0",
41
41
  "babel-loader": "^8.2.2",
@@ -74,11 +74,11 @@
74
74
  }
75
75
  },
76
76
  "devDependencies": {
77
- "@theia/ext-scripts": "1.57.1",
77
+ "@theia/ext-scripts": "1.58.0",
78
78
  "@types/node-abi": "*"
79
79
  },
80
80
  "nyc": {
81
81
  "extends": "../../configs/nyc.json"
82
82
  },
83
- "gitHead": "6e84ac8d37bbeb45f999894e80cb92a761c1ee1e"
83
+ "gitHead": "6594f32b9727aea20d88934bf386dee06d08fa5e"
84
84
  }
@@ -43,7 +43,8 @@ export class ApplicationProcess {
43
43
  }
44
44
 
45
45
  canRun(command: string): boolean {
46
- return fs.existsSync(this.resolveBin(command));
46
+ const binPath = this.resolveBin(this.binProjectPath, command);
47
+ return !!binPath && fs.existsSync(binPath);
47
48
  }
48
49
 
49
50
  run(command: string, args: string[], options?: cp.SpawnOptions): Promise<void> {
@@ -52,16 +53,29 @@ export class ApplicationProcess {
52
53
  }
53
54
 
54
55
  spawnBin(command: string, args: string[], options?: cp.SpawnOptions): cp.ChildProcess {
55
- const binPath = this.resolveBin(command);
56
+ const binPath = this.resolveBin(this.binProjectPath, command);
57
+ if (!binPath) {
58
+ throw new Error(`Could not resolve ${command} relative to ${this.binProjectPath}`);
59
+ }
56
60
  return this.spawn(binPath, args, {
57
61
  ...options,
58
62
  shell: true
59
63
  });
60
64
  }
61
65
 
62
- protected resolveBin(command: string): string {
63
- const commandPath = path.resolve(this.binProjectPath, 'node_modules', '.bin', command);
64
- return process.platform === 'win32' ? commandPath + '.cmd' : commandPath;
66
+ protected resolveBin(rootPath: string, command: string): string | undefined {
67
+ let commandPath = path.resolve(rootPath, 'node_modules', '.bin', command);
68
+ if (process.platform === 'win32') {
69
+ commandPath = commandPath + '.cmd';
70
+ }
71
+ if (fs.existsSync(commandPath)) {
72
+ return commandPath;
73
+ }
74
+ const parentDir = path.dirname(rootPath);
75
+ if (parentDir === rootPath) {
76
+ return undefined;
77
+ }
78
+ return this.resolveBin(parentDir, command);
65
79
  }
66
80
 
67
81
  protected promisify(command: string, p: cp.ChildProcess): Promise<void> {
@@ -50,10 +50,6 @@ export class WebpackGenerator extends AbstractGenerator {
50
50
  return this.pck.path('gen-webpack.node.config.js');
51
51
  }
52
52
 
53
- protected resolve(moduleName: string, path: string): string {
54
- return this.pck.resolveModulePath(moduleName, path).split(paths.sep).join('/');
55
- }
56
-
57
53
  protected compileWebpackConfig(): string {
58
54
  return `/**
59
55
  * Don't touch this file. It will be regenerated by theia build.
@@ -65,8 +61,9 @@ const webpack = require('webpack');
65
61
  const yargs = require('yargs');
66
62
  const resolvePackagePath = require('resolve-package-path');
67
63
  const CopyWebpackPlugin = require('copy-webpack-plugin');
68
- const CompressionPlugin = require('compression-webpack-plugin')
69
- const MiniCssExtractPlugin = require('mini-css-extract-plugin')
64
+ const CompressionPlugin = require('compression-webpack-plugin');
65
+ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
66
+ const { MonacoWebpackPlugin } = require('@theia/native-webpack-plugin/lib/monaco-webpack-plugins.js');
70
67
 
71
68
  const outputPath = path.resolve(__dirname, 'lib', 'frontend');
72
69
  const { mode, staticCompression } = yargs.option('mode', {
@@ -103,7 +100,8 @@ const plugins = [
103
100
  new webpack.ProvidePlugin({
104
101
  // the Buffer class doesn't exist in the browser but some dependencies rely on it
105
102
  Buffer: ['buffer', 'Buffer']
106
- })
103
+ }),
104
+ new MonacoWebpackPlugin()
107
105
  ];
108
106
  // it should go after copy-plugin in order to compress monaco as well
109
107
  if (staticCompression) {
@@ -175,6 +173,10 @@ module.exports = [{
175
173
  test: /source-map-support/,
176
174
  loader: 'ignore-loader'
177
175
  },
176
+ {
177
+ test: /\\.d\\.ts$/,
178
+ loader: 'ignore-loader'
179
+ },
178
180
  {
179
181
  test: /\\.js$/,
180
182
  enforce: 'pre',
@@ -244,6 +246,7 @@ module.exports = [{
244
246
  filename: "[name].css",
245
247
  chunkFilename: "[id].css",
246
248
  }),
249
+ new MonacoWebpackPlugin(),
247
250
  ],
248
251
  devtool: 'source-map',
249
252
  entry: {
@@ -349,6 +352,7 @@ const yargs = require('yargs');
349
352
  const webpack = require('webpack');
350
353
  const TerserPlugin = require('terser-webpack-plugin');
351
354
  const NativeWebpackPlugin = require('@theia/native-webpack-plugin');
355
+ const { MonacoWebpackPlugin } = require('@theia/native-webpack-plugin/lib/monaco-webpack-plugins.js');
352
356
 
353
357
  const { mode } = yargs.option('mode', {
354
358
  description: "Mode to use",
@@ -392,6 +396,15 @@ const nativePlugin = new NativeWebpackPlugin({
392
396
  }
393
397
  });
394
398
 
399
+ ${this.ifPackage('@theia/process', () => `// Ensure that node-pty is correctly hoisted
400
+ try {
401
+ require.resolve('node-pty');
402
+ } catch {
403
+ console.error('"node-pty" dependency is not installed correctly. Ensure that it is available in the root node_modules directory.');
404
+ console.error('Exiting webpack build process.');
405
+ process.exit(1);
406
+ }`)}
407
+
395
408
  /** @type {import('webpack').Configuration} */
396
409
  const config = {
397
410
  mode,
@@ -436,6 +449,10 @@ const config = {
436
449
  name: 'native/[name].[ext]'
437
450
  }
438
451
  },
452
+ {
453
+ test: /\\.d\\.ts$/,
454
+ loader: 'ignore-loader'
455
+ },
439
456
  {
440
457
  test: /\\.js$/,
441
458
  enforce: 'pre',
@@ -455,7 +472,8 @@ const config = {
455
472
  // Optional node dependencies can be safely ignored
456
473
  new webpack.IgnorePlugin({
457
474
  checkResource: resource => ignoredResources.has(resource)
458
- })
475
+ }),
476
+ new MonacoWebpackPlugin()
459
477
  ],
460
478
  optimization: {
461
479
  // Split and reuse code across the various entry points
@@ -476,6 +494,8 @@ const config = {
476
494
  ignoreWarnings: [
477
495
  // Some packages do not have source maps, that's ok
478
496
  /Failed to parse source map/,
497
+ // require with expressions are not supported
498
+ /the request of a dependency is an expression/,
479
499
  // Some packages use dynamic requires, we can safely ignore them (they are handled by the native webpack plugin)
480
500
  /require function is used in a way in which dependencies cannot be statically extracted/, {
481
501
  module: /yargs/