@theia/application-manager 1.71.0 → 1.72.0-next.11

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 +1 @@
1
- {"version":3,"file":"application-package-manager.d.ts","sourceRoot":"","sources":["../src/application-package-manager.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,GAAG,QAAQ,OAAO,CAAC,CAAC;AAGhC,OAAO,QAAQ,QAAQ,CAAC;IACpB,SAAS,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9C;AASD,qBAAa,yBAAyB;IAElC,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG;QACjE,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;QAClC,aAAa,CAAC,EAAE,OAAO,CAAA;KAC1B,CAAC;IAaF,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,sBAAsB;IACtB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAErC,OAAO,EAAE,yBAAyB;cAM9B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,QAAQ,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,KAAK,CAAC,IAAI,GAAE,MAAM,EAAO,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/E,KAAK,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,EAAE,CAAC,YAAY;IAS3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;IAKjD,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAA;KAAE,CAAC;IAelH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;IAyB9C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;IAc7C;;;;OAIG;cACa,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BhD,SAAS,CAAC,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAc1G,OAAO,CAAC,UAAU;IAiBlB,OAAO,KAAK,WAAW,GAQtB;CACJ"}
1
+ {"version":3,"file":"application-package-manager.d.ts","sourceRoot":"","sources":["../src/application-package-manager.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,GAAG,QAAQ,OAAO,CAAC,CAAC;AAGhC,OAAO,QAAQ,QAAQ,CAAC;IACpB,SAAS,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9C;AASD,qBAAa,yBAAyB;IAElC,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG;QACjE,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;QAClC,aAAa,CAAC,EAAE,OAAO,CAAA;KAC1B,CAAC;IAaF,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,sBAAsB;IACtB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAErC,OAAO,EAAE,yBAAyB;cAM9B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,QAAQ,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,KAAK,CAAC,IAAI,GAAE,MAAM,EAAO,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/E,KAAK,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,EAAE,CAAC,YAAY;IAS3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;IAKjD,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAA;KAAE,CAAC;IAelH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;IAyB9C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;IAc7C;;;;OAIG;cACa,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BhD,SAAS,CAAC,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAc1G,OAAO,CAAC,UAAU;IAiBlB,OAAO,KAAK,WAAW,GAQtB;CACJ"}
@@ -52,12 +52,15 @@ class ApplicationPackageManager {
52
52
  }
53
53
  }
54
54
  async clean() {
55
- const webpackGenerator = new generator_1.WebpackGenerator(this.pck);
55
+ const bundlerGenerator = new generator_1.BundlerGenerator(this.pck);
56
56
  await Promise.all([
57
57
  this.remove(this.pck.lib()),
58
58
  this.remove(this.pck.srcGen()),
59
- this.remove(webpackGenerator.genConfigPath),
60
- this.remove(webpackGenerator.genNodeConfigPath)
59
+ this.remove(bundlerGenerator.genConfigPath),
60
+ this.remove(bundlerGenerator.genNodeConfigPath),
61
+ this.remove(bundlerGenerator.genESBuildBrowserPath),
62
+ this.remove(bundlerGenerator.genESBuildNodePath),
63
+ this.remove(bundlerGenerator.genESBuildElectronPath),
61
64
  ]);
62
65
  }
63
66
  async prepare() {
@@ -77,7 +80,7 @@ class ApplicationPackageManager {
77
80
  throw error;
78
81
  }
79
82
  await Promise.all([
80
- new generator_1.WebpackGenerator(this.pck, options).generate(),
83
+ new generator_1.BundlerGenerator(this.pck, options).generate(),
81
84
  new generator_1.BackendGenerator(this.pck, options).generate(),
82
85
  new generator_1.FrontendGenerator(this.pck, options).generate(),
83
86
  ]);
@@ -87,9 +90,16 @@ class ApplicationPackageManager {
87
90
  await fs.copy(this.pck.frontend('index.html'), this.pck.lib('frontend', 'index.html'));
88
91
  }
89
92
  async build(args = [], options = {}) {
93
+ const bundlerGenerator = new generator_1.BundlerGenerator(this.pck);
90
94
  await this.generate(options);
91
95
  await this.copy();
92
- return this.__process.run('webpack', args);
96
+ if (await bundlerGenerator.preferESBuild()) {
97
+ const process = this.__process.spawn('node', [bundlerGenerator.esbuildPath, ...args]);
98
+ return this.__process.promisify('esbuild', process);
99
+ }
100
+ else {
101
+ return this.__process.run('webpack', args);
102
+ }
93
103
  }
94
104
  start(args = []) {
95
105
  if (this.pck.isElectron()) {
@@ -1 +1 @@
1
- {"version":3,"file":"application-package-manager.js","sourceRoot":"","sources":["../src/application-package-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-package-manager.js","sourceRoot":"","sources":["../src/application-package-manager.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,6 @@ export declare class ApplicationProcess {
14
14
  run(command: string, args: string[], options?: cp.SpawnOptions): Promise<void>;
15
15
  spawnBin(command: string, args: string[], options?: cp.SpawnOptions): cp.ChildProcess;
16
16
  protected resolveBin(rootPath: string, command: string): string | undefined;
17
- protected promisify(command: string, p: cp.ChildProcess): Promise<void>;
17
+ promisify(command: string, p: cp.ChildProcess): Promise<void>;
18
18
  }
19
19
  //# 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;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"}
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,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBhE"}
@@ -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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"}
@@ -0,0 +1,22 @@
1
+ import { AbstractGenerator } from './abstract-generator';
2
+ export declare class BundlerGenerator extends AbstractGenerator {
3
+ generate(): Promise<void>;
4
+ preferESBuild(): Promise<boolean>;
5
+ protected shouldGenerateUserWebpackConfig(): Promise<boolean>;
6
+ protected shouldGenerateUserESBuildConfig(): Promise<boolean>;
7
+ get configPath(): string;
8
+ get genConfigPath(): string;
9
+ get genNodeConfigPath(): string;
10
+ get esbuildPath(): string;
11
+ get genESBuildBrowserPath(): string;
12
+ get genESBuildNodePath(): string;
13
+ get genESBuildElectronPath(): string;
14
+ protected compileWebpackConfig(): string;
15
+ protected compileUserWebpackConfig(): string;
16
+ protected compileNodeWebpackConfig(): string;
17
+ protected compileESBuildBrowserConfig(): string;
18
+ protected compileESBuildNodeConfig(): string;
19
+ protected compileESBuildUserConfig(): string;
20
+ protected compileESBuildElectronConfig(): string;
21
+ }
22
+ //# sourceMappingURL=bundler-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundler-generator.d.ts","sourceRoot":"","sources":["../../src/generator/bundler-generator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,gBAAiB,SAAQ,iBAAiB;IAE7C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBzB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;cAavB,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAC;cAQnD,+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,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,qBAAqB,IAAI,MAAM,CAElC;IAED,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,SAAS,CAAC,oBAAoB,IAAI,MAAM;IA4SxC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAyB5C,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAkM5C,SAAS,CAAC,2BAA2B,IAAI,MAAM;IA0G/C,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAuE5C,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAgD5C,SAAS,CAAC,4BAA4B,IAAI,MAAM;CA8BnD"}
@@ -15,26 +15,59 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WebpackGenerator = void 0;
18
+ exports.BundlerGenerator = void 0;
19
19
  const paths = require("path");
20
20
  const fs = require("fs-extra");
21
21
  const abstract_generator_1 = require("./abstract-generator");
22
- class WebpackGenerator extends abstract_generator_1.AbstractGenerator {
22
+ class BundlerGenerator extends abstract_generator_1.AbstractGenerator {
23
23
  async generate() {
24
- await this.write(this.genConfigPath, this.compileWebpackConfig());
25
- if (!this.pck.isBrowserOnly()) {
26
- await this.write(this.genNodeConfigPath, this.compileNodeWebpackConfig());
24
+ if (await this.preferESBuild()) {
25
+ await this.write(this.genESBuildBrowserPath, this.compileESBuildBrowserConfig());
26
+ if (!this.pck.isBrowserOnly()) {
27
+ await this.write(this.genESBuildNodePath, this.compileESBuildNodeConfig());
28
+ if (this.pck.isElectron()) {
29
+ await this.write(this.genESBuildElectronPath, this.compileESBuildElectronConfig());
30
+ }
31
+ }
32
+ if (await this.shouldGenerateUserESBuildConfig()) {
33
+ await this.write(this.esbuildPath, this.compileESBuildUserConfig());
34
+ }
35
+ }
36
+ else {
37
+ await this.write(this.genConfigPath, this.compileWebpackConfig());
38
+ if (!this.pck.isBrowserOnly()) {
39
+ await this.write(this.genNodeConfigPath, this.compileNodeWebpackConfig());
40
+ }
41
+ if (await this.shouldGenerateUserWebpackConfig()) {
42
+ await this.write(this.configPath, this.compileUserWebpackConfig());
43
+ }
27
44
  }
28
- if (await this.shouldGenerateUserWebpackConfig()) {
29
- await this.write(this.configPath, this.compileUserWebpackConfig());
45
+ }
46
+ async preferESBuild() {
47
+ // If an esbuild file already exists, prefer esbuild
48
+ if (await fs.pathExists(this.esbuildPath)) {
49
+ return true;
50
+ }
51
+ // If a webpack file already exists, prefer webpack
52
+ if (await fs.pathExists(this.configPath)) {
53
+ return false;
30
54
  }
55
+ // Otherwise, prefer ESBuild (for performance)
56
+ return true;
31
57
  }
32
58
  async shouldGenerateUserWebpackConfig() {
33
59
  if (!(await fs.pathExists(this.configPath))) {
34
60
  return true;
35
61
  }
36
62
  const content = await fs.readFile(this.configPath, 'utf8');
37
- return content.indexOf('gen-webpack') === -1;
63
+ return !content.includes('gen-webpack');
64
+ }
65
+ async shouldGenerateUserESBuildConfig() {
66
+ if (!(await fs.pathExists(this.esbuildPath))) {
67
+ return true;
68
+ }
69
+ const content = await fs.readFile(this.esbuildPath, 'utf8');
70
+ return !content.includes('gen-esbuild');
38
71
  }
39
72
  get configPath() {
40
73
  return this.pck.path('webpack.config.js');
@@ -45,6 +78,18 @@ class WebpackGenerator extends abstract_generator_1.AbstractGenerator {
45
78
  get genNodeConfigPath() {
46
79
  return this.pck.path('gen-webpack.node.config.js');
47
80
  }
81
+ get esbuildPath() {
82
+ return this.pck.path('esbuild.mjs');
83
+ }
84
+ get genESBuildBrowserPath() {
85
+ return this.pck.path('gen-esbuild.browser.mjs');
86
+ }
87
+ get genESBuildNodePath() {
88
+ return this.pck.path('gen-esbuild.node.mjs');
89
+ }
90
+ get genESBuildElectronPath() {
91
+ return this.pck.path('gen-esbuild.electron.mjs');
92
+ }
48
93
  compileWebpackConfig() {
49
94
  return `/**
50
95
  * Don't touch this file. It will be regenerated by theia build.
@@ -58,7 +103,7 @@ const resolvePackagePath = require('resolve-package-path');
58
103
  const CopyWebpackPlugin = require('copy-webpack-plugin');
59
104
  const CompressionPlugin = require('compression-webpack-plugin');
60
105
  const MiniCssExtractPlugin = require('mini-css-extract-plugin');
61
- const { MonacoWebpackPlugin } = require('@theia/native-webpack-plugin/lib/monaco-webpack-plugins.js');
106
+ const { MonacoWebpackPlugin } = require('@theia/bundle-plugin');
62
107
 
63
108
  const outputPath = path.resolve(__dirname, 'lib', 'frontend');
64
109
  const { mode, staticCompression } = yargs.option('mode', {
@@ -115,6 +160,7 @@ module.exports = [{
115
160
  devtool: 'source-map',
116
161
  entry: {
117
162
  bundle: path.resolve(__dirname, 'src-gen/frontend/index.js'),
163
+ ${this.ifPackage('@theia/plugin-ext', "'plugin-worker': '@theia/plugin-ext/lib/hosted/browser/worker/worker-main.js',")}
118
164
  },
119
165
  output: {
120
166
  filename: '[name].js',
@@ -128,25 +174,8 @@ module.exports = [{
128
174
  rules: [
129
175
  {
130
176
  test: /\\.css$/,
131
- exclude: /materialcolors\\.css$|\\.useable\\.css$/,
132
177
  use: ['style-loader', 'css-loader']
133
178
  },
134
- {
135
- test: /materialcolors\\.css$|\\.useable\\.css$/,
136
- use: [
137
- {
138
- loader: 'style-loader',
139
- options: {
140
- esModule: false,
141
- injectType: 'lazySingletonStyleTag',
142
- attributes: {
143
- id: 'theia-theme'
144
- }
145
- }
146
- },
147
- 'css-loader'
148
- ]
149
- },
150
179
  {
151
180
  test: /\\.(ttf|eot|svg)(\\?v=\\d+\\.\\d+\\.\\d+)?$/,
152
181
  type: 'asset',
@@ -394,8 +423,7 @@ const path = require('path');
394
423
  const yargs = require('yargs');
395
424
  const webpack = require('webpack');
396
425
  const TerserPlugin = require('terser-webpack-plugin');
397
- const NativeWebpackPlugin = require('@theia/native-webpack-plugin');
398
- const { MonacoWebpackPlugin } = require('@theia/native-webpack-plugin/lib/monaco-webpack-plugins.js');
426
+ const { NativeWebpackPlugin, MonacoWebpackPlugin } = require('@theia/bundle-plugin');
399
427
 
400
428
  const { mode } = yargs.option('mode', {
401
429
  description: "Mode to use",
@@ -576,8 +604,259 @@ module.exports = {
576
604
  nativePlugin,
577
605
  ignoredResources
578
606
  };
607
+ `;
608
+ }
609
+ compileESBuildBrowserConfig() {
610
+ return `/**
611
+ * Don't touch this file. It will be regenerated by theia build.
612
+ * To customize the build process, change ./esbuild.mjs
613
+ */
614
+ import { nodeModulesPolyfillPlugin } from 'esbuild-plugins-node-modules-polyfill';
615
+ import { copy } from 'esbuild-plugin-copy';
616
+ import { monacoNlsPlugin, problemMatcherPlugin } from '@theia/bundle-plugin';
617
+ import yargs from 'yargs';
618
+ import resolvePackagePath from 'resolve-package-path';
619
+ import path from 'node:path';
620
+ import { fileURLToPath } from 'node:url';
621
+
622
+ export const __dirname = path.dirname(fileURLToPath(import.meta.url));
623
+
624
+ export function join(...parts) {
625
+ return path.join(...parts).replace(/\\\\/g, '/');
626
+ }
627
+
628
+ const { mode, watch } = yargs.option('mode', {
629
+ description: "Mode to use",
630
+ choices: ["development", "production"],
631
+ default: "production"
632
+ }).option('watch', {
633
+ description: 'Controls whether to enable watch mode',
634
+ type: 'boolean',
635
+ default: false
636
+ }).argv;
637
+
638
+ const production = mode === 'production';
639
+ const sourcemap = production ? false : 'linked';
640
+ const minify = production;
641
+
642
+ export { mode, watch, sourcemap, minify };
643
+
644
+ /**
645
+ * @type {Record<string, import('esbuild').Loader>}
646
+ */
647
+ export const loader = {
648
+ '.css': 'css',
649
+ '.ttf': 'dataurl',
650
+ '.eot': 'dataurl',
651
+ '.svg': 'dataurl',
652
+ '.woff': 'dataurl',
653
+ '.woff2': 'dataurl',
654
+ '.jpg': 'dataurl',
655
+ '.png': 'dataurl',
656
+ '.gif': 'dataurl',
657
+ '.wasm': 'dataurl',
658
+ '.plist': 'dataurl',
659
+ '.node': 'file'
660
+ };
661
+
662
+ /**
663
+ * @type {import('esbuild').BuildOptions}
664
+ */
665
+ export const browserOptions = {
666
+ entryPoints: {
667
+ 'bundle': './src-gen/frontend/index.js',
668
+ 'secondary-window': './src-gen/frontend/secondary-index.js',
669
+ ${this.ifMonaco(() => "'editor.worker': '@theia/monaco-editor-core/esm/vs/editor/common/services/editorWebWorkerMain.js',")}
670
+ ${this.ifPackage('@theia/plugin-ext', "'plugin-worker': '@theia/plugin-ext/lib/hosted/browser/worker/worker-main.js',")}
671
+ },
672
+ assetNames: '[name]',
673
+ bundle: true,
674
+ outdir: 'lib/frontend',
675
+ platform: 'browser',
676
+ // Support UMD libraries
677
+ // but ensure that we also prioritize browser exports where possible
678
+ mainFields: ['browser', 'module', 'main'],
679
+ loader,
680
+ minify,
681
+ sourcemap,
682
+ plugins: [
683
+ problemMatcherPlugin(watch, 'browser'),
684
+ ${this.ifMonaco(() => 'monacoNlsPlugin(),')}
685
+ nodeModulesPolyfillPlugin({
686
+ globals: {
687
+ Buffer: true,
688
+ process: false
689
+ }
690
+ }),
691
+ copy({
692
+ assets: [
693
+ {
694
+ // copy secondary window html file to lib folder
695
+ from: join(__dirname, 'src-gen/frontend/secondary-window.html'),
696
+ to: join(__dirname, 'lib', 'frontend')
697
+ }${this.ifPackage('@theia/plugin-ext', `,
698
+ {
699
+ // copy webview files to lib folder
700
+ from: join(resolvePackagePath('@theia/plugin-ext', __dirname), '..', 'src', 'main', 'browser', 'webview', 'pre', '*'),
701
+ to: join(__dirname, 'lib', 'webview', 'pre')
702
+ }`)}${this.ifPackage('@theia/plugin-ext-vscode', `,
703
+ {
704
+ // copy frontend plugin host files
705
+ from: join(resolvePackagePath('@theia/plugin-ext-vscode', __dirname), '..', 'lib', 'node', 'context', 'plugin-vscode-init-fe.js'),
706
+ to: join(__dirname, 'lib', 'frontend', 'context')
707
+ }`)}
708
+ ]
709
+ })
710
+ ]
711
+ };
712
+ `;
713
+ }
714
+ compileESBuildNodeConfig() {
715
+ return `/**
716
+ * Don't touch this file. It will be regenerated by theia build.
717
+ * To customize the build process, change ./esbuild.mjs
718
+ */
719
+ import { nativeDependenciesPlugin, problemMatcherPlugin } from '@theia/bundle-plugin';
720
+ import { watch, loader, minify, sourcemap, join, __dirname } from './gen-esbuild.browser.mjs';
721
+ import { copy } from 'esbuild-plugin-copy';
722
+ import resolvePackagePath from 'resolve-package-path';
723
+
724
+ /**
725
+ * @type {Record<string, string>}
726
+ */
727
+ export const nativeBindings = {
728
+ drivelist: 'drivelist/build/Release/drivelist.node'
729
+ };
730
+
731
+ /**
732
+ * @type {import('esbuild').BuildOptions}
733
+ */
734
+ export const nodeOptions = {
735
+ entryPoints: {
736
+ 'main': './src-gen/backend/main',
737
+ 'ipc-bootstrap': '@theia/core/lib/node/messaging/ipc-bootstrap',
738
+ ${this.ifElectron("'electron-main': './src-gen/backend/electron-main',")}
739
+ ${this.ifPackage('@theia/plugin-ext', () => `// VS Code extension support:
740
+ 'plugin-host': '@theia/plugin-ext/lib/hosted/node/plugin-host',`)}
741
+ ${this.ifPackage('@theia/plugin-ext-headless', () => `// Theia Headless Plugin support:
742
+ 'plugin-host-headless': '@theia/plugin-ext-headless/lib/hosted/node/plugin-host-headless',`)}
743
+ ${this.ifPackage('@theia/process', () => `// Make sure the node-pty thread workers can be executed:
744
+ 'worker/conoutSocketWorker': 'node-pty/lib/worker/conoutSocketWorker',
745
+ 'conpty_console_list_agent': 'node-pty/lib/conpty_console_list_agent',`)}
746
+ ${this.ifPackage('@theia/dev-container', () => `// VS Code Dev-Container communication:
747
+ 'dev-container-server': '@theia/dev-container/lib/dev-container-server/dev-container-server',`)}
748
+ ${this.ifPackage('@theia/plugin-ext', "'backend-init-theia': '@theia/plugin-ext/lib/hosted/node/scanners/backend-init-theia',")}
749
+ ${this.ifPackage('@theia/filesystem', "'parcel-watcher': '@theia/filesystem/lib/node/parcel-watcher',")}
750
+ ${this.ifPackage('@theia/plugin-ext-vscode', "'plugin-vscode-init': '@theia/plugin-ext-vscode/lib/node/plugin-vscode-init',")}
751
+ ${this.ifPackage('@theia/api-provider-sample', "'gotd-api-init': '@theia/api-provider-sample/lib/plugin/gotd-api-init',")}
752
+ ${this.ifPackage('@theia/git', "'git-locator-host': '@theia/git/lib/node/git-locator/git-locator-host',")}
753
+ },
754
+ assetNames: 'native/[name]',
755
+ bundle: true,
756
+ outdir: 'lib/backend',
757
+ platform: 'node',
758
+ mainFields: ['node', 'module', 'main'],
759
+ external: ['electron'],
760
+ loader,
761
+ minify,
762
+ sourcemap,
763
+ plugins: [
764
+ problemMatcherPlugin(watch, 'node'),
765
+ nativeDependenciesPlugin({
766
+ pty: ${this.ifPackage('@theia/process', 'true', 'false')},
767
+ ripgrep: ${this.ifPackage(['@theia/search-in-workspace', '@theia/file-search'], 'true', 'false')},
768
+ trash: ${this.ifPackage('@theia/filesystem', 'true', 'false')},
769
+ nativeBindings
770
+ }),
771
+ copy({
772
+ assets: [${this.ifPackage('@theia/terminal', `
773
+ {
774
+ // copy shell integration scripts
775
+ from: join(resolvePackagePath('@theia/terminal', __dirname), '..', 'src', 'node', 'shell-integrations', '**', '*'),
776
+ to: join(__dirname, 'lib', 'backend', 'shell-integrations')
777
+ },`)}
778
+ ]
779
+ })
780
+ ]
781
+ };
782
+ `;
783
+ }
784
+ compileESBuildUserConfig() {
785
+ return `/**
786
+ * This file can be edited to adjust the ESBuild build process.
787
+ * To reset, delete this file and rerun theia build again.
788
+ */
789
+ import { browserOptions, watch } from './gen-esbuild.browser.mjs';
790
+ ${this.ifBrowserOnly(`import esbuild from 'esbuild';
791
+
792
+ const browserContext = await esbuild.context(browserOptions);
793
+
794
+ if (watch) {
795
+ await browserContext.watch();
796
+ } else {
797
+ try {
798
+ await browserContext.rebuild();
799
+ await browserContext.dispose();
800
+ } catch {
801
+ process.exit(1);
802
+ }
803
+ }`, `import { nodeOptions } from './gen-esbuild.node.mjs';
804
+ ${this.ifElectron("import { electronOptions } from './gen-esbuild.electron.mjs';")}
805
+ import esbuild from 'esbuild';
806
+
807
+ const browserContext = await esbuild.context(browserOptions);
808
+ const nodeContext = await esbuild.context(nodeOptions);
809
+ ${this.ifElectron('const electronContext = await esbuild.context(electronOptions);')}
810
+
811
+ if (watch) {
812
+ await Promise.all([
813
+ browserContext.watch(),
814
+ nodeContext.watch(),${this.ifElectron(`
815
+ electronContext.watch(),`)}
816
+ ]);
817
+ } else {
818
+ try {
819
+ await browserContext.rebuild();
820
+ await browserContext.dispose();
821
+ await nodeContext.rebuild();
822
+ await nodeContext.dispose();${this.ifElectron(`
823
+ await electronContext.rebuild();
824
+ await electronContext.dispose();`)}
825
+ } catch {
826
+ process.exit(1);
827
+ }
828
+ }`)}
829
+ `;
830
+ }
831
+ compileESBuildElectronConfig() {
832
+ return `/**
833
+ * Don't touch this file. It will be regenerated by theia build.
834
+ * To customize the build process, change ./esbuild.mjs
835
+ */
836
+ import { problemMatcherPlugin } from '@theia/bundle-plugin';
837
+ import { watch, loader, minify, sourcemap } from './gen-esbuild.browser.mjs';
838
+
839
+ /**
840
+ * @type {import('esbuild').BuildOptions}
841
+ */
842
+ export const electronOptions = {
843
+ entryPoints: {
844
+ 'preload': './src-gen/frontend/preload'
845
+ },
846
+ bundle: true,
847
+ outdir: 'lib/frontend',
848
+ platform: 'node',
849
+ mainFields: ['node', 'module', 'main'],
850
+ external: ['electron'],
851
+ loader,
852
+ minify,
853
+ sourcemap,
854
+ plugins: [
855
+ problemMatcherPlugin(watch, 'electron')
856
+ ]
857
+ };
579
858
  `;
580
859
  }
581
860
  }
582
- exports.WebpackGenerator = WebpackGenerator;
583
- //# sourceMappingURL=webpack-generator.js.map
861
+ exports.BundlerGenerator = BundlerGenerator;
862
+ //# sourceMappingURL=bundler-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundler-generator.js","sourceRoot":"","sources":["../../src/generator/bundler-generator.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import { AbstractGenerator, GeneratorOptions } from './abstract-generator';
2
2
  export declare class FrontendGenerator extends AbstractGenerator {
3
3
  generate(options?: GeneratorOptions): Promise<void>;
4
4
  protected compileIndexPreload(frontendModules: Map<string, string>): string;
5
- protected compileIndexHtml(frontendModules: Map<string, string>): string;
6
- protected compileIndexHead(frontendModules: Map<string, string>): string;
5
+ protected compileIndexHtml(frontendModules: Map<string, string>): Promise<string>;
6
+ protected compileIndexHead(frontendModules: Map<string, string>): Promise<string>;
7
7
  protected compileIndexJs(frontendModules: Map<string, string>, frontendPreloadModules: Map<string, string>): string;
8
8
  protected importOrRequire(): string;
9
9
  /** HTML for secondary windows that contain an extracted widget. */
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-generator.d.ts","sourceRoot":"","sources":["../../src/generator/frontend-generator.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG3E,qBAAa,iBAAkB,SAAQ,iBAAiB;IAE9C,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzD,SAAS,CAAC,mBAAmB,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAc3E,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAexE,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAQxE,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAgGnH,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,mEAAmE;IACnE,SAAS,CAAC,0BAA0B,IAAI,MAAM;IAoC9C,SAAS,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAgBtF,gBAAgB,IAAI,MAAM;CAM7B"}
1
+ {"version":3,"file":"frontend-generator.d.ts","sourceRoot":"","sources":["../../src/generator/frontend-generator.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI3E,qBAAa,iBAAkB,SAAQ,iBAAiB;IAE9C,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzD,SAAS,CAAC,mBAAmB,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;cAc3D,gBAAgB,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;cAevE,gBAAgB,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvF,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAgGnH,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,mEAAmE;IACnE,SAAS,CAAC,0BAA0B,IAAI,MAAM;IAoC9C,SAAS,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAgBtF,gBAAgB,IAAI,MAAM;CAM7B"}
@@ -20,9 +20,10 @@ exports.FrontendGenerator = void 0;
20
20
  const os_1 = require("os");
21
21
  const abstract_generator_1 = require("./abstract-generator");
22
22
  const fs_1 = require("fs");
23
+ const bundler_generator_1 = require("./bundler-generator");
23
24
  class FrontendGenerator extends abstract_generator_1.AbstractGenerator {
24
25
  async generate(options) {
25
- await this.write(this.pck.frontend('index.html'), this.compileIndexHtml(this.pck.targetFrontendModules));
26
+ await this.write(this.pck.frontend('index.html'), await this.compileIndexHtml(this.pck.targetFrontendModules));
26
27
  await this.write(this.pck.frontend('index.js'), this.compileIndexJs(this.pck.targetFrontendModules, this.pck.targetFrontendPreloadModules));
27
28
  await this.write(this.pck.frontend('secondary-window.html'), this.compileSecondaryWindowHtml());
28
29
  await this.write(this.pck.frontend('secondary-index.js'), this.compileSecondaryIndexJs(this.pck.secondaryWindowModules));
@@ -41,11 +42,11 @@ class FrontendGenerator extends abstract_generator_1.AbstractGenerator {
41
42
  }
42
43
  return template;
43
44
  }
44
- compileIndexHtml(frontendModules) {
45
+ async compileIndexHtml(frontendModules) {
45
46
  return `<!DOCTYPE html>
46
47
  <html lang="en">
47
48
 
48
- <head>${this.compileIndexHead(frontendModules)}
49
+ <head>${await this.compileIndexHead(frontendModules)}
49
50
  </head>
50
51
 
51
52
  <body>
@@ -55,11 +56,13 @@ class FrontendGenerator extends abstract_generator_1.AbstractGenerator {
55
56
 
56
57
  </html>`;
57
58
  }
58
- compileIndexHead(frontendModules) {
59
+ async compileIndexHead(frontendModules) {
60
+ const preferEsbuild = await new bundler_generator_1.BundlerGenerator(this.pck, this.options).preferESBuild();
59
61
  return `
60
62
  <meta charset="UTF-8">
61
63
  <meta name="viewport" content="width=device-width, initial-scale=1">
62
64
  <meta name="apple-mobile-web-app-capable" content="yes">
65
+ ${preferEsbuild ? '<link rel="stylesheet" href="./bundle.css">' : ''}
63
66
  <title>${this.pck.props.frontend.config.applicationName}</title>`;
64
67
  }
65
68
  compileIndexJs(frontendModules, frontendPreloadModules) {
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-generator.js","sourceRoot":"","sources":["../../src/generator/frontend-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontend-generator.js","sourceRoot":"","sources":["../../src/generator/frontend-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export * from './webpack-generator';
1
+ export * from './bundler-generator';
2
2
  export * from './frontend-generator';
3
3
  export * from './backend-generator';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -16,7 +16,7 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const tslib_1 = require("tslib");
19
- tslib_1.__exportStar(require("./webpack-generator"), exports);
19
+ tslib_1.__exportStar(require("./bundler-generator"), exports);
20
20
  tslib_1.__exportStar(require("./frontend-generator"), exports);
21
21
  tslib_1.__exportStar(require("./backend-generator"), exports);
22
22
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/application-manager",
3
- "version": "1.71.0",
3
+ "version": "1.72.0-next.11+b1c4bde4705",
4
4
  "description": "Theia application manager API.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -34,9 +34,9 @@
34
34
  "@babel/plugin-transform-runtime": "^7.29.0",
35
35
  "@babel/preset-env": "^7.29.2",
36
36
  "@electron/rebuild": "^4.0.3",
37
- "@theia/application-package": "1.71.0",
38
- "@theia/ffmpeg": "1.71.0",
39
- "@theia/native-webpack-plugin": "1.71.0",
37
+ "@theia/application-package": "1.72.0-next.11+b1c4bde4705",
38
+ "@theia/bundle-plugin": "1.72.0-next.11+b1c4bde4705",
39
+ "@theia/ffmpeg": "1.72.0-next.11+b1c4bde4705",
40
40
  "@types/fs-extra": "^4.0.15",
41
41
  "@types/semver": "^7.7.1",
42
42
  "babel-loader": "^8.4.1",
@@ -44,6 +44,9 @@
44
44
  "compression-webpack-plugin": "^9.2.0",
45
45
  "copy-webpack-plugin": "^8.1.1",
46
46
  "css-loader": "^6.11.0",
47
+ "esbuild": "^0.24.0",
48
+ "esbuild-plugin-copy": "^2.1.1",
49
+ "esbuild-plugins-node-modules-polyfill": "^1.6.7",
47
50
  "fs-extra": "^4.0.2",
48
51
  "http-server": "^14.1.1",
49
52
  "ignore-loader": "^0.1.2",
@@ -78,5 +81,5 @@
78
81
  "nyc": {
79
82
  "extends": "../../configs/nyc.json"
80
83
  },
81
- "gitHead": "d8a596fc99f0a8e68b466828ed162569d79e3a71"
84
+ "gitHead": "b1c4bde470503b1cc20454841cf2c84ed7deb63f"
82
85
  }
@@ -19,7 +19,7 @@ import * as fs from 'fs-extra';
19
19
  import * as cp from 'child_process';
20
20
  import * as semver from 'semver';
21
21
  import { ApplicationPackage, ApplicationPackageOptions } from '@theia/application-package';
22
- import { WebpackGenerator, FrontendGenerator, BackendGenerator } from './generator';
22
+ import { BundlerGenerator, FrontendGenerator, BackendGenerator } from './generator';
23
23
  import { ApplicationProcess } from './application-process';
24
24
  import { GeneratorOptions } from './generator/abstract-generator';
25
25
  import yargs = require('yargs');
@@ -73,12 +73,15 @@ export class ApplicationPackageManager {
73
73
  }
74
74
 
75
75
  async clean(): Promise<void> {
76
- const webpackGenerator = new WebpackGenerator(this.pck);
76
+ const bundlerGenerator = new BundlerGenerator(this.pck);
77
77
  await Promise.all([
78
78
  this.remove(this.pck.lib()),
79
79
  this.remove(this.pck.srcGen()),
80
- this.remove(webpackGenerator.genConfigPath),
81
- this.remove(webpackGenerator.genNodeConfigPath)
80
+ this.remove(bundlerGenerator.genConfigPath),
81
+ this.remove(bundlerGenerator.genNodeConfigPath),
82
+ this.remove(bundlerGenerator.genESBuildBrowserPath),
83
+ this.remove(bundlerGenerator.genESBuildNodePath),
84
+ this.remove(bundlerGenerator.genESBuildElectronPath),
82
85
  ]);
83
86
  }
84
87
 
@@ -99,7 +102,7 @@ export class ApplicationPackageManager {
99
102
  throw error;
100
103
  }
101
104
  await Promise.all([
102
- new WebpackGenerator(this.pck, options).generate(),
105
+ new BundlerGenerator(this.pck, options).generate(),
103
106
  new BackendGenerator(this.pck, options).generate(),
104
107
  new FrontendGenerator(this.pck, options).generate(),
105
108
  ]);
@@ -111,9 +114,15 @@ export class ApplicationPackageManager {
111
114
  }
112
115
 
113
116
  async build(args: string[] = [], options: GeneratorOptions = {}): Promise<void> {
117
+ const bundlerGenerator = new BundlerGenerator(this.pck);
114
118
  await this.generate(options);
115
119
  await this.copy();
116
- return this.__process.run('webpack', args);
120
+ if (await bundlerGenerator.preferESBuild()) {
121
+ const process = this.__process.spawn('node', [bundlerGenerator.esbuildPath, ...args]);
122
+ return this.__process.promisify('esbuild', process);
123
+ } else {
124
+ return this.__process.run('webpack', args);
125
+ }
117
126
  }
118
127
 
119
128
  start(args: string[] = []): cp.ChildProcess {
@@ -78,7 +78,7 @@ export class ApplicationProcess {
78
78
  return this.resolveBin(parentDir, command);
79
79
  }
80
80
 
81
- protected promisify(command: string, p: cp.ChildProcess): Promise<void> {
81
+ promisify(command: string, p: cp.ChildProcess): Promise<void> {
82
82
  return new Promise((resolve, reject) => {
83
83
  p.stdout!.on('data', data => this.pck.log(data.toString()));
84
84
  p.stderr!.on('data', data => this.pck.error(data.toString()));
@@ -18,16 +18,42 @@ import * as paths from 'path';
18
18
  import * as fs from 'fs-extra';
19
19
  import { AbstractGenerator } from './abstract-generator';
20
20
 
21
- export class WebpackGenerator extends AbstractGenerator {
21
+ export class BundlerGenerator extends AbstractGenerator {
22
22
 
23
23
  async generate(): Promise<void> {
24
- await this.write(this.genConfigPath, this.compileWebpackConfig());
25
- if (!this.pck.isBrowserOnly()) {
26
- await this.write(this.genNodeConfigPath, this.compileNodeWebpackConfig());
24
+ if (await this.preferESBuild()) {
25
+ await this.write(this.genESBuildBrowserPath, this.compileESBuildBrowserConfig());
26
+ if (!this.pck.isBrowserOnly()) {
27
+ await this.write(this.genESBuildNodePath, this.compileESBuildNodeConfig());
28
+ if (this.pck.isElectron()) {
29
+ await this.write(this.genESBuildElectronPath, this.compileESBuildElectronConfig());
30
+ }
31
+ }
32
+ if (await this.shouldGenerateUserESBuildConfig()) {
33
+ await this.write(this.esbuildPath, this.compileESBuildUserConfig());
34
+ }
35
+ } else {
36
+ await this.write(this.genConfigPath, this.compileWebpackConfig());
37
+ if (!this.pck.isBrowserOnly()) {
38
+ await this.write(this.genNodeConfigPath, this.compileNodeWebpackConfig());
39
+ }
40
+ if (await this.shouldGenerateUserWebpackConfig()) {
41
+ await this.write(this.configPath, this.compileUserWebpackConfig());
42
+ }
27
43
  }
28
- if (await this.shouldGenerateUserWebpackConfig()) {
29
- await this.write(this.configPath, this.compileUserWebpackConfig());
44
+ }
45
+
46
+ async preferESBuild(): Promise<boolean> {
47
+ // If an esbuild file already exists, prefer esbuild
48
+ if (await fs.pathExists(this.esbuildPath)) {
49
+ return true;
50
+ }
51
+ // If a webpack file already exists, prefer webpack
52
+ if (await fs.pathExists(this.configPath)) {
53
+ return false;
30
54
  }
55
+ // Otherwise, prefer ESBuild (for performance)
56
+ return true;
31
57
  }
32
58
 
33
59
  protected async shouldGenerateUserWebpackConfig(): Promise<boolean> {
@@ -35,7 +61,15 @@ export class WebpackGenerator extends AbstractGenerator {
35
61
  return true;
36
62
  }
37
63
  const content = await fs.readFile(this.configPath, 'utf8');
38
- return content.indexOf('gen-webpack') === -1;
64
+ return !content.includes('gen-webpack');
65
+ }
66
+
67
+ protected async shouldGenerateUserESBuildConfig(): Promise<boolean> {
68
+ if (!(await fs.pathExists(this.esbuildPath))) {
69
+ return true;
70
+ }
71
+ const content = await fs.readFile(this.esbuildPath, 'utf8');
72
+ return !content.includes('gen-esbuild');
39
73
  }
40
74
 
41
75
  get configPath(): string {
@@ -50,6 +84,22 @@ export class WebpackGenerator extends AbstractGenerator {
50
84
  return this.pck.path('gen-webpack.node.config.js');
51
85
  }
52
86
 
87
+ get esbuildPath(): string {
88
+ return this.pck.path('esbuild.mjs');
89
+ }
90
+
91
+ get genESBuildBrowserPath(): string {
92
+ return this.pck.path('gen-esbuild.browser.mjs');
93
+ }
94
+
95
+ get genESBuildNodePath(): string {
96
+ return this.pck.path('gen-esbuild.node.mjs');
97
+ }
98
+
99
+ get genESBuildElectronPath(): string {
100
+ return this.pck.path('gen-esbuild.electron.mjs');
101
+ }
102
+
53
103
  protected compileWebpackConfig(): string {
54
104
  return `/**
55
105
  * Don't touch this file. It will be regenerated by theia build.
@@ -63,7 +113,7 @@ const resolvePackagePath = require('resolve-package-path');
63
113
  const CopyWebpackPlugin = require('copy-webpack-plugin');
64
114
  const CompressionPlugin = require('compression-webpack-plugin');
65
115
  const MiniCssExtractPlugin = require('mini-css-extract-plugin');
66
- const { MonacoWebpackPlugin } = require('@theia/native-webpack-plugin/lib/monaco-webpack-plugins.js');
116
+ const { MonacoWebpackPlugin } = require('@theia/bundle-plugin');
67
117
 
68
118
  const outputPath = path.resolve(__dirname, 'lib', 'frontend');
69
119
  const { mode, staticCompression } = yargs.option('mode', {
@@ -120,6 +170,7 @@ module.exports = [{
120
170
  devtool: 'source-map',
121
171
  entry: {
122
172
  bundle: path.resolve(__dirname, 'src-gen/frontend/index.js'),
173
+ ${this.ifPackage('@theia/plugin-ext', "'plugin-worker': '@theia/plugin-ext/lib/hosted/browser/worker/worker-main.js',")}
123
174
  },
124
175
  output: {
125
176
  filename: '[name].js',
@@ -133,25 +184,8 @@ module.exports = [{
133
184
  rules: [
134
185
  {
135
186
  test: /\\.css$/,
136
- exclude: /materialcolors\\.css$|\\.useable\\.css$/,
137
187
  use: ['style-loader', 'css-loader']
138
188
  },
139
- {
140
- test: /materialcolors\\.css$|\\.useable\\.css$/,
141
- use: [
142
- {
143
- loader: 'style-loader',
144
- options: {
145
- esModule: false,
146
- injectType: 'lazySingletonStyleTag',
147
- attributes: {
148
- id: 'theia-theme'
149
- }
150
- }
151
- },
152
- 'css-loader'
153
- ]
154
- },
155
189
  {
156
190
  test: /\\.(ttf|eot|svg)(\\?v=\\d+\\.\\d+\\.\\d+)?$/,
157
191
  type: 'asset',
@@ -401,8 +435,7 @@ const path = require('path');
401
435
  const yargs = require('yargs');
402
436
  const webpack = require('webpack');
403
437
  const TerserPlugin = require('terser-webpack-plugin');
404
- const NativeWebpackPlugin = require('@theia/native-webpack-plugin');
405
- const { MonacoWebpackPlugin } = require('@theia/native-webpack-plugin/lib/monaco-webpack-plugins.js');
438
+ const { NativeWebpackPlugin, MonacoWebpackPlugin } = require('@theia/bundle-plugin');
406
439
 
407
440
  const { mode } = yargs.option('mode', {
408
441
  description: "Mode to use",
@@ -583,6 +616,261 @@ module.exports = {
583
616
  nativePlugin,
584
617
  ignoredResources
585
618
  };
619
+ `;
620
+ }
621
+
622
+ protected compileESBuildBrowserConfig(): string {
623
+ return `/**
624
+ * Don't touch this file. It will be regenerated by theia build.
625
+ * To customize the build process, change ./esbuild.mjs
626
+ */
627
+ import { nodeModulesPolyfillPlugin } from 'esbuild-plugins-node-modules-polyfill';
628
+ import { copy } from 'esbuild-plugin-copy';
629
+ import { monacoNlsPlugin, problemMatcherPlugin } from '@theia/bundle-plugin';
630
+ import yargs from 'yargs';
631
+ import resolvePackagePath from 'resolve-package-path';
632
+ import path from 'node:path';
633
+ import { fileURLToPath } from 'node:url';
634
+
635
+ export const __dirname = path.dirname(fileURLToPath(import.meta.url));
636
+
637
+ export function join(...parts) {
638
+ return path.join(...parts).replace(/\\\\/g, '/');
639
+ }
640
+
641
+ const { mode, watch } = yargs.option('mode', {
642
+ description: "Mode to use",
643
+ choices: ["development", "production"],
644
+ default: "production"
645
+ }).option('watch', {
646
+ description: 'Controls whether to enable watch mode',
647
+ type: 'boolean',
648
+ default: false
649
+ }).argv;
650
+
651
+ const production = mode === 'production';
652
+ const sourcemap = production ? false : 'linked';
653
+ const minify = production;
654
+
655
+ export { mode, watch, sourcemap, minify };
656
+
657
+ /**
658
+ * @type {Record<string, import('esbuild').Loader>}
659
+ */
660
+ export const loader = {
661
+ '.css': 'css',
662
+ '.ttf': 'dataurl',
663
+ '.eot': 'dataurl',
664
+ '.svg': 'dataurl',
665
+ '.woff': 'dataurl',
666
+ '.woff2': 'dataurl',
667
+ '.jpg': 'dataurl',
668
+ '.png': 'dataurl',
669
+ '.gif': 'dataurl',
670
+ '.wasm': 'dataurl',
671
+ '.plist': 'dataurl',
672
+ '.node': 'file'
673
+ };
674
+
675
+ /**
676
+ * @type {import('esbuild').BuildOptions}
677
+ */
678
+ export const browserOptions = {
679
+ entryPoints: {
680
+ 'bundle': './src-gen/frontend/index.js',
681
+ 'secondary-window': './src-gen/frontend/secondary-index.js',
682
+ ${this.ifMonaco(() => "'editor.worker': '@theia/monaco-editor-core/esm/vs/editor/common/services/editorWebWorkerMain.js',")}
683
+ ${this.ifPackage('@theia/plugin-ext', "'plugin-worker': '@theia/plugin-ext/lib/hosted/browser/worker/worker-main.js',")}
684
+ },
685
+ assetNames: '[name]',
686
+ bundle: true,
687
+ outdir: 'lib/frontend',
688
+ platform: 'browser',
689
+ // Support UMD libraries
690
+ // but ensure that we also prioritize browser exports where possible
691
+ mainFields: ['browser', 'module', 'main'],
692
+ loader,
693
+ minify,
694
+ sourcemap,
695
+ plugins: [
696
+ problemMatcherPlugin(watch, 'browser'),
697
+ ${this.ifMonaco(() => 'monacoNlsPlugin(),')}
698
+ nodeModulesPolyfillPlugin({
699
+ globals: {
700
+ Buffer: true,
701
+ process: false
702
+ }
703
+ }),
704
+ copy({
705
+ assets: [
706
+ {
707
+ // copy secondary window html file to lib folder
708
+ from: join(__dirname, 'src-gen/frontend/secondary-window.html'),
709
+ to: join(__dirname, 'lib', 'frontend')
710
+ }${this.ifPackage('@theia/plugin-ext', `,
711
+ {
712
+ // copy webview files to lib folder
713
+ from: join(resolvePackagePath('@theia/plugin-ext', __dirname), '..', 'src', 'main', 'browser', 'webview', 'pre', '*'),
714
+ to: join(__dirname, 'lib', 'webview', 'pre')
715
+ }`)}${this.ifPackage('@theia/plugin-ext-vscode', `,
716
+ {
717
+ // copy frontend plugin host files
718
+ from: join(resolvePackagePath('@theia/plugin-ext-vscode', __dirname), '..', 'lib', 'node', 'context', 'plugin-vscode-init-fe.js'),
719
+ to: join(__dirname, 'lib', 'frontend', 'context')
720
+ }`)}
721
+ ]
722
+ })
723
+ ]
724
+ };
725
+ `;
726
+ }
727
+
728
+ protected compileESBuildNodeConfig(): string {
729
+ return `/**
730
+ * Don't touch this file. It will be regenerated by theia build.
731
+ * To customize the build process, change ./esbuild.mjs
732
+ */
733
+ import { nativeDependenciesPlugin, problemMatcherPlugin } from '@theia/bundle-plugin';
734
+ import { watch, loader, minify, sourcemap, join, __dirname } from './gen-esbuild.browser.mjs';
735
+ import { copy } from 'esbuild-plugin-copy';
736
+ import resolvePackagePath from 'resolve-package-path';
737
+
738
+ /**
739
+ * @type {Record<string, string>}
740
+ */
741
+ export const nativeBindings = {
742
+ drivelist: 'drivelist/build/Release/drivelist.node'
743
+ };
744
+
745
+ /**
746
+ * @type {import('esbuild').BuildOptions}
747
+ */
748
+ export const nodeOptions = {
749
+ entryPoints: {
750
+ 'main': './src-gen/backend/main',
751
+ 'ipc-bootstrap': '@theia/core/lib/node/messaging/ipc-bootstrap',
752
+ ${this.ifElectron("'electron-main': './src-gen/backend/electron-main',")}
753
+ ${this.ifPackage('@theia/plugin-ext', () => `// VS Code extension support:
754
+ 'plugin-host': '@theia/plugin-ext/lib/hosted/node/plugin-host',`)}
755
+ ${this.ifPackage('@theia/plugin-ext-headless', () => `// Theia Headless Plugin support:
756
+ 'plugin-host-headless': '@theia/plugin-ext-headless/lib/hosted/node/plugin-host-headless',`)}
757
+ ${this.ifPackage('@theia/process', () => `// Make sure the node-pty thread workers can be executed:
758
+ 'worker/conoutSocketWorker': 'node-pty/lib/worker/conoutSocketWorker',
759
+ 'conpty_console_list_agent': 'node-pty/lib/conpty_console_list_agent',`)}
760
+ ${this.ifPackage('@theia/dev-container', () => `// VS Code Dev-Container communication:
761
+ 'dev-container-server': '@theia/dev-container/lib/dev-container-server/dev-container-server',`)}
762
+ ${this.ifPackage('@theia/plugin-ext', "'backend-init-theia': '@theia/plugin-ext/lib/hosted/node/scanners/backend-init-theia',")}
763
+ ${this.ifPackage('@theia/filesystem', "'parcel-watcher': '@theia/filesystem/lib/node/parcel-watcher',")}
764
+ ${this.ifPackage('@theia/plugin-ext-vscode', "'plugin-vscode-init': '@theia/plugin-ext-vscode/lib/node/plugin-vscode-init',")}
765
+ ${this.ifPackage('@theia/api-provider-sample', "'gotd-api-init': '@theia/api-provider-sample/lib/plugin/gotd-api-init',")}
766
+ ${this.ifPackage('@theia/git', "'git-locator-host': '@theia/git/lib/node/git-locator/git-locator-host',")}
767
+ },
768
+ assetNames: 'native/[name]',
769
+ bundle: true,
770
+ outdir: 'lib/backend',
771
+ platform: 'node',
772
+ mainFields: ['node', 'module', 'main'],
773
+ external: ['electron'],
774
+ loader,
775
+ minify,
776
+ sourcemap,
777
+ plugins: [
778
+ problemMatcherPlugin(watch, 'node'),
779
+ nativeDependenciesPlugin({
780
+ pty: ${this.ifPackage('@theia/process', 'true', 'false')},
781
+ ripgrep: ${this.ifPackage(['@theia/search-in-workspace', '@theia/file-search'], 'true', 'false')},
782
+ trash: ${this.ifPackage('@theia/filesystem', 'true', 'false')},
783
+ nativeBindings
784
+ }),
785
+ copy({
786
+ assets: [${this.ifPackage('@theia/terminal', `
787
+ {
788
+ // copy shell integration scripts
789
+ from: join(resolvePackagePath('@theia/terminal', __dirname), '..', 'src', 'node', 'shell-integrations', '**', '*'),
790
+ to: join(__dirname, 'lib', 'backend', 'shell-integrations')
791
+ },`)}
792
+ ]
793
+ })
794
+ ]
795
+ };
796
+ `;
797
+ }
798
+
799
+ protected compileESBuildUserConfig(): string {
800
+ return `/**
801
+ * This file can be edited to adjust the ESBuild build process.
802
+ * To reset, delete this file and rerun theia build again.
803
+ */
804
+ import { browserOptions, watch } from './gen-esbuild.browser.mjs';
805
+ ${this.ifBrowserOnly(`import esbuild from 'esbuild';
806
+
807
+ const browserContext = await esbuild.context(browserOptions);
808
+
809
+ if (watch) {
810
+ await browserContext.watch();
811
+ } else {
812
+ try {
813
+ await browserContext.rebuild();
814
+ await browserContext.dispose();
815
+ } catch {
816
+ process.exit(1);
817
+ }
818
+ }`, `import { nodeOptions } from './gen-esbuild.node.mjs';
819
+ ${this.ifElectron("import { electronOptions } from './gen-esbuild.electron.mjs';")}
820
+ import esbuild from 'esbuild';
821
+
822
+ const browserContext = await esbuild.context(browserOptions);
823
+ const nodeContext = await esbuild.context(nodeOptions);
824
+ ${this.ifElectron('const electronContext = await esbuild.context(electronOptions);')}
825
+
826
+ if (watch) {
827
+ await Promise.all([
828
+ browserContext.watch(),
829
+ nodeContext.watch(),${this.ifElectron(`
830
+ electronContext.watch(),`)}
831
+ ]);
832
+ } else {
833
+ try {
834
+ await browserContext.rebuild();
835
+ await browserContext.dispose();
836
+ await nodeContext.rebuild();
837
+ await nodeContext.dispose();${this.ifElectron(`
838
+ await electronContext.rebuild();
839
+ await electronContext.dispose();`)}
840
+ } catch {
841
+ process.exit(1);
842
+ }
843
+ }`)}
844
+ `;
845
+ }
846
+
847
+ protected compileESBuildElectronConfig(): string {
848
+ return `/**
849
+ * Don't touch this file. It will be regenerated by theia build.
850
+ * To customize the build process, change ./esbuild.mjs
851
+ */
852
+ import { problemMatcherPlugin } from '@theia/bundle-plugin';
853
+ import { watch, loader, minify, sourcemap } from './gen-esbuild.browser.mjs';
854
+
855
+ /**
856
+ * @type {import('esbuild').BuildOptions}
857
+ */
858
+ export const electronOptions = {
859
+ entryPoints: {
860
+ 'preload': './src-gen/frontend/preload'
861
+ },
862
+ bundle: true,
863
+ outdir: 'lib/frontend',
864
+ platform: 'node',
865
+ mainFields: ['node', 'module', 'main'],
866
+ external: ['electron'],
867
+ loader,
868
+ minify,
869
+ sourcemap,
870
+ plugins: [
871
+ problemMatcherPlugin(watch, 'electron')
872
+ ]
873
+ };
586
874
  `;
587
875
  }
588
876
 
@@ -19,11 +19,12 @@
19
19
  import { EOL } from 'os';
20
20
  import { AbstractGenerator, GeneratorOptions } from './abstract-generator';
21
21
  import { existsSync, readFileSync } from 'fs';
22
+ import { BundlerGenerator } from './bundler-generator';
22
23
 
23
24
  export class FrontendGenerator extends AbstractGenerator {
24
25
 
25
26
  async generate(options?: GeneratorOptions): Promise<void> {
26
- await this.write(this.pck.frontend('index.html'), this.compileIndexHtml(this.pck.targetFrontendModules));
27
+ await this.write(this.pck.frontend('index.html'), await this.compileIndexHtml(this.pck.targetFrontendModules));
27
28
  await this.write(this.pck.frontend('index.js'), this.compileIndexJs(this.pck.targetFrontendModules, this.pck.targetFrontendPreloadModules));
28
29
  await this.write(this.pck.frontend('secondary-window.html'), this.compileSecondaryWindowHtml());
29
30
  await this.write(this.pck.frontend('secondary-index.js'), this.compileSecondaryIndexJs(this.pck.secondaryWindowModules));
@@ -46,11 +47,11 @@ export class FrontendGenerator extends AbstractGenerator {
46
47
  return template;
47
48
  }
48
49
 
49
- protected compileIndexHtml(frontendModules: Map<string, string>): string {
50
+ protected async compileIndexHtml(frontendModules: Map<string, string>): Promise<string> {
50
51
  return `<!DOCTYPE html>
51
52
  <html lang="en">
52
53
 
53
- <head>${this.compileIndexHead(frontendModules)}
54
+ <head>${await this.compileIndexHead(frontendModules)}
54
55
  </head>
55
56
 
56
57
  <body>
@@ -61,11 +62,13 @@ export class FrontendGenerator extends AbstractGenerator {
61
62
  </html>`;
62
63
  }
63
64
 
64
- protected compileIndexHead(frontendModules: Map<string, string>): string {
65
+ protected async compileIndexHead(frontendModules: Map<string, string>): Promise<string> {
66
+ const preferEsbuild = await new BundlerGenerator(this.pck, this.options).preferESBuild();
65
67
  return `
66
68
  <meta charset="UTF-8">
67
69
  <meta name="viewport" content="width=device-width, initial-scale=1">
68
70
  <meta name="apple-mobile-web-app-capable" content="yes">
71
+ ${preferEsbuild ? '<link rel="stylesheet" href="./bundle.css">' : ''}
69
72
  <title>${this.pck.props.frontend.config.applicationName}</title>`;
70
73
  }
71
74
 
@@ -14,6 +14,6 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- export * from './webpack-generator';
17
+ export * from './bundler-generator';
18
18
  export * from './frontend-generator';
19
19
  export * from './backend-generator';
@@ -1,12 +0,0 @@
1
- import { AbstractGenerator } from './abstract-generator';
2
- export declare class WebpackGenerator extends AbstractGenerator {
3
- generate(): Promise<void>;
4
- protected shouldGenerateUserWebpackConfig(): Promise<boolean>;
5
- get configPath(): string;
6
- get genConfigPath(): string;
7
- get genNodeConfigPath(): string;
8
- protected compileWebpackConfig(): string;
9
- protected compileUserWebpackConfig(): string;
10
- protected compileNodeWebpackConfig(): string;
11
- }
12
- //# sourceMappingURL=webpack-generator.d.ts.map
@@ -1 +0,0 @@
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;IA4TxC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAyB5C,SAAS,CAAC,wBAAwB,IAAI,MAAM;CAmM/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpack-generator.js","sourceRoot":"","sources":["../../src/generator/webpack-generator.ts"],"names":[],"mappings":"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"}