@theia/application-manager 1.71.0-next.6 → 1.71.0-next.72
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/lib/generator/abstract-generator.d.ts +4 -0
- package/lib/generator/abstract-generator.d.ts.map +1 -1
- package/lib/generator/abstract-generator.js +7 -0
- package/lib/generator/abstract-generator.js.map +1 -1
- package/lib/generator/backend-generator.d.ts.map +1 -1
- package/lib/generator/backend-generator.js +24 -7
- package/lib/generator/backend-generator.js.map +1 -1
- package/lib/generator/frontend-generator.d.ts.map +1 -1
- package/lib/generator/frontend-generator.js +14 -3
- package/lib/generator/frontend-generator.js.map +1 -1
- package/package.json +22 -22
- package/src/generator/abstract-generator.ts +9 -0
- package/src/generator/backend-generator.ts +24 -7
- package/src/generator/frontend-generator.ts +14 -3
|
@@ -14,5 +14,9 @@ export declare abstract class AbstractGenerator {
|
|
|
14
14
|
protected ifMonaco(value: () => string, defaultValue?: () => string): string;
|
|
15
15
|
protected ifPackage(packageName: string | string[], value: string | (() => string), defaultValue?: string | (() => string)): string;
|
|
16
16
|
protected prettyStringify(object: object): string;
|
|
17
|
+
protected emitStartupLogger(component: string, epochLabel: string, options?: {
|
|
18
|
+
requirePerformance?: boolean;
|
|
19
|
+
}): string;
|
|
20
|
+
protected emitStartupLog(milestone: string): string;
|
|
17
21
|
}
|
|
18
22
|
//# sourceMappingURL=abstract-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-generator.d.ts","sourceRoot":"","sources":["../../src/generator/abstract-generator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IACnC,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,8BAAsB,iBAAiB;IAG/B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB;IAC1C,SAAS,CAAC,OAAO,EAAE,gBAAgB;gBADhB,GAAG,EAAE,kBAAkB,EAChC,OAAO,GAAE,gBAAqB;IAG5C,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,MAAM;IAIrE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,MAAM;IAItE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,MAAM;cAIzD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,EAAE,YAAY,GAAE,MAAM,MAAiB,GAAG,MAAM;IAOtF,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,YAAY,GAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAM,GAAG,MAAM;IASvI,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"abstract-generator.d.ts","sourceRoot":"","sources":["../../src/generator/abstract-generator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IACnC,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,8BAAsB,iBAAiB;IAG/B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB;IAC1C,SAAS,CAAC,OAAO,EAAE,gBAAgB;gBADhB,GAAG,EAAE,kBAAkB,EAChC,OAAO,GAAE,gBAAqB;IAG5C,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,MAAM;IAIrE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,MAAM;IAItE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,MAAM;cAIzD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,EAAE,YAAY,GAAE,MAAM,MAAiB,GAAG,MAAM;IAOtF,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,YAAY,GAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAM,GAAG,MAAM;IASvI,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIjD,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IAKtH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAItD"}
|
|
@@ -53,6 +53,13 @@ class AbstractGenerator {
|
|
|
53
53
|
prettyStringify(object) {
|
|
54
54
|
return JSON.stringify(object, undefined, 4);
|
|
55
55
|
}
|
|
56
|
+
emitStartupLogger(component, epochLabel, options) {
|
|
57
|
+
const perfImport = options?.requirePerformance ? 'const { performance } = require(\'perf_hooks\');\n' : '';
|
|
58
|
+
return `${perfImport}const startupLog = (milestone) => console.debug(\`${component}: \${milestone} [\${(performance.now() / 1000).toFixed(3)} s since ${epochLabel}]\`);`;
|
|
59
|
+
}
|
|
60
|
+
emitStartupLog(milestone) {
|
|
61
|
+
return `startupLog('${milestone}');`;
|
|
62
|
+
}
|
|
56
63
|
}
|
|
57
64
|
exports.AbstractGenerator = AbstractGenerator;
|
|
58
65
|
//# sourceMappingURL=abstract-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-generator.js","sourceRoot":"","sources":["../../src/generator/abstract-generator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,+BAA+B;AAQ/B,MAAsB,iBAAiB;IAEnC,YACuB,GAAuB,EAChC,UAA4B,EAAE;QADrB,QAAG,GAAH,GAAG,CAAoB;QAChC,YAAO,GAAP,OAAO,CAAuB;IACxC,CAAC;IAEK,SAAS,CAAC,KAAa,EAAE,eAAuB,EAAE;QACxD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAES,UAAU,CAAC,KAAa,EAAE,eAAuB,EAAE;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAES,aAAa,CAAC,KAAa,EAAE,eAAuB,EAAE;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAe;QAC/C,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAES,QAAQ,CAAC,KAAmB,EAAE,eAA6B,GAAG,EAAE,CAAC,EAAE;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,eAAe;YACf,2BAA2B;SAC9B,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5B,CAAC;IAES,SAAS,CAAC,WAA8B,EAAE,KAA8B,EAAE,eAAwC,EAAE;QAC1H,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QAC5E,CAAC;IACL,CAAC;IAES,eAAe,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;CAEJ;
|
|
1
|
+
{"version":3,"file":"abstract-generator.js","sourceRoot":"","sources":["../../src/generator/abstract-generator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,+BAA+B;AAQ/B,MAAsB,iBAAiB;IAEnC,YACuB,GAAuB,EAChC,UAA4B,EAAE;QADrB,QAAG,GAAH,GAAG,CAAoB;QAChC,YAAO,GAAP,OAAO,CAAuB;IACxC,CAAC;IAEK,SAAS,CAAC,KAAa,EAAE,eAAuB,EAAE;QACxD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAES,UAAU,CAAC,KAAa,EAAE,eAAuB,EAAE;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAES,aAAa,CAAC,KAAa,EAAE,eAAuB,EAAE;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAe;QAC/C,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAES,QAAQ,CAAC,KAAmB,EAAE,eAA6B,GAAG,EAAE,CAAC,EAAE;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,eAAe;YACf,2BAA2B;SAC9B,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5B,CAAC;IAES,SAAS,CAAC,WAA8B,EAAE,KAA8B,EAAE,eAAwC,EAAE;QAC1H,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QAC5E,CAAC;IACL,CAAC;IAES,eAAe,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAES,iBAAiB,CAAC,SAAiB,EAAE,UAAkB,EAAE,OAA0C;QACzG,MAAM,UAAU,GAAG,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,OAAO,GAAG,UAAU,qDAAqD,SAAS,sEAAsE,UAAU,OAAO,CAAC;IAC9K,CAAC;IAES,cAAc,CAAC,SAAiB;QACtC,OAAO,eAAe,SAAS,KAAK,CAAC;IACzC,CAAC;CAEJ;AArDD,8CAqDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-generator.d.ts","sourceRoot":"","sources":["../../src/generator/backend-generator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,gBAAiB,SAAQ,iBAAiB;IAE7C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAa/B,SAAS,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"backend-generator.d.ts","sourceRoot":"","sources":["../../src/generator/backend-generator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,gBAAiB,SAAQ,iBAAiB;IAE7C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAa/B,SAAS,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAiFhF,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAiFpE,SAAS,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CAwBrE"}
|
|
@@ -35,6 +35,8 @@ class BackendGenerator extends abstract_generator_1.AbstractGenerator {
|
|
|
35
35
|
return `// @ts-check
|
|
36
36
|
|
|
37
37
|
require('@theia/core/shared/reflect-metadata');
|
|
38
|
+
${this.emitStartupLogger('Electron main', 'electron main start', { requirePerformance: true })}
|
|
39
|
+
${this.emitStartupLog('loading modules...')}
|
|
38
40
|
|
|
39
41
|
// Workaround for https://github.com/electron/electron/issues/9225. Chrome has an issue where
|
|
40
42
|
// in certain locales (e.g. PL), image metrics are wrongly computed. We explicitly set the
|
|
@@ -68,7 +70,7 @@ process.env.LC_NUMERIC = 'C';
|
|
|
68
70
|
app.quit();
|
|
69
71
|
return;
|
|
70
72
|
}
|
|
71
|
-
|
|
73
|
+
|
|
72
74
|
const container = new Container();
|
|
73
75
|
container.load(electronMainApplicationModule);
|
|
74
76
|
container.bind(ElectronMainApplicationGlobals).toConstantValue({
|
|
@@ -77,21 +79,25 @@ process.env.LC_NUMERIC = 'C';
|
|
|
77
79
|
THEIA_FRONTEND_HTML_PATH: resolve(__dirname, '..', '..', 'lib', 'frontend', 'index.html'),
|
|
78
80
|
THEIA_SECONDARY_WINDOW_HTML_PATH: resolve(__dirname, '..', '..', 'lib', 'frontend', 'secondary-window.html')
|
|
79
81
|
});
|
|
80
|
-
|
|
82
|
+
${this.emitStartupLog('container created')}
|
|
83
|
+
|
|
81
84
|
function load(raw) {
|
|
82
85
|
return Promise.resolve(raw.default).then(module =>
|
|
83
86
|
container.load(module)
|
|
84
87
|
);
|
|
85
88
|
}
|
|
86
|
-
|
|
89
|
+
|
|
87
90
|
async function start() {
|
|
91
|
+
${this.emitStartupLog('resolving application')}
|
|
88
92
|
const application = container.get(ElectronMainApplication);
|
|
93
|
+
${this.emitStartupLog('application resolved')}
|
|
89
94
|
await application.start(config);
|
|
90
95
|
}
|
|
91
96
|
|
|
92
97
|
try {
|
|
93
98
|
${Array.from(electronMainModules?.values() ?? [], jsModulePath => `\
|
|
94
99
|
await load(require('${jsModulePath}'));`).join(os_1.EOL)}
|
|
100
|
+
${this.emitStartupLog('modules loaded')}
|
|
95
101
|
await start();
|
|
96
102
|
} catch (reason) {
|
|
97
103
|
if (typeof reason !== 'number') {
|
|
@@ -107,7 +113,9 @@ ${Array.from(electronMainModules?.values() ?? [], jsModulePath => `\
|
|
|
107
113
|
}
|
|
108
114
|
compileServer(backendModules) {
|
|
109
115
|
return `// @ts-check
|
|
110
|
-
require('reflect-metadata')
|
|
116
|
+
require('reflect-metadata');
|
|
117
|
+
${this.emitStartupLogger('Backend server', 'backend process start', { requirePerformance: true })}
|
|
118
|
+
${this.emitStartupLog('loading modules...')}${this.ifElectron(`
|
|
111
119
|
|
|
112
120
|
// Patch electron version if missing, see https://github.com/eclipse-theia/theia/pull/7361#pullrequestreview-377065146
|
|
113
121
|
if (typeof process.versions.electron === 'undefined' && typeof process.env.THEIA_ELECTRON_VERSION === 'string') {
|
|
@@ -132,6 +140,7 @@ const container = new Container();
|
|
|
132
140
|
container.load(backendApplicationModule);
|
|
133
141
|
container.load(messagingBackendModule);
|
|
134
142
|
container.load(loggerBackendModule);
|
|
143
|
+
${this.emitStartupLog('container created')}
|
|
135
144
|
|
|
136
145
|
function defaultServeStatic(app) {
|
|
137
146
|
app.use(express.static(path.resolve(__dirname, '../../lib/frontend')))
|
|
@@ -148,8 +157,13 @@ async function start(port, host, argv = process.argv) {
|
|
|
148
157
|
container.bind(BackendApplicationServer).toConstantValue({ configure: defaultServeStatic });
|
|
149
158
|
}
|
|
150
159
|
let result = undefined;
|
|
151
|
-
await container.get(CliManager).initializeCli(argv.slice(2),
|
|
152
|
-
() =>
|
|
160
|
+
await container.get(CliManager).initializeCli(argv.slice(2),
|
|
161
|
+
() => {
|
|
162
|
+
${this.emitStartupLog('resolving application')}
|
|
163
|
+
const application = container.get(BackendApplication);
|
|
164
|
+
${this.emitStartupLog('application resolved')}
|
|
165
|
+
return application.configured;
|
|
166
|
+
},
|
|
153
167
|
async () => {
|
|
154
168
|
result = container.get(BackendApplication).start(port, host);
|
|
155
169
|
});
|
|
@@ -164,11 +178,12 @@ module.exports = async (port, host, argv) => {
|
|
|
164
178
|
try {
|
|
165
179
|
${Array.from(backendModules.values(), jsModulePath => `\
|
|
166
180
|
await load(require('${jsModulePath}'));`).join(os_1.EOL)}
|
|
181
|
+
${this.emitStartupLog('modules loaded')}
|
|
167
182
|
return await start(port, host, argv);
|
|
168
183
|
} catch (error) {
|
|
169
184
|
if (typeof error !== 'number') {
|
|
170
185
|
console.error('Failed to start the backend application:');
|
|
171
|
-
console.error(error);
|
|
186
|
+
console.error(error);
|
|
172
187
|
process.exitCode = 1;
|
|
173
188
|
}
|
|
174
189
|
throw error;
|
|
@@ -178,6 +193,8 @@ ${Array.from(backendModules.values(), jsModulePath => `\
|
|
|
178
193
|
}
|
|
179
194
|
compileMain(backendModules) {
|
|
180
195
|
return `// @ts-check
|
|
196
|
+
${this.emitStartupLogger('Backend main', 'backend process start', { requirePerformance: true })}
|
|
197
|
+
${this.emitStartupLog('entry point loaded')}
|
|
181
198
|
const { BackendApplicationConfigProvider } = require('@theia/core/lib/node/backend-application-config-provider');
|
|
182
199
|
const main = require('@theia/core/lib/node/main');
|
|
183
200
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-generator.js","sourceRoot":"","sources":["../../src/generator/backend-generator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,2BAAyB;AACzB,6DAAyD;AAEzD,MAAa,gBAAiB,SAAQ,sCAAiB;IAEnD,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3B,uDAAuD;YACvD,OAAO;QACX,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACrD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACzH,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,mBAAyC;QACnE,OAAO
|
|
1
|
+
{"version":3,"file":"backend-generator.js","sourceRoot":"","sources":["../../src/generator/backend-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -66,6 +66,8 @@ class FrontendGenerator extends abstract_generator_1.AbstractGenerator {
|
|
|
66
66
|
return `\
|
|
67
67
|
// @ts-check
|
|
68
68
|
require('reflect-metadata');
|
|
69
|
+
${this.emitStartupLogger('Frontend', 'frontend page start')}
|
|
70
|
+
${this.emitStartupLog('loading modules...')}
|
|
69
71
|
const { Container } = require('@theia/core/shared/inversify');
|
|
70
72
|
const { FrontendApplicationConfigProvider } = require('@theia/core/lib/browser/frontend-application-config-provider');
|
|
71
73
|
|
|
@@ -107,30 +109,36 @@ module.exports = (async () => {
|
|
|
107
109
|
${this.ifBrowserOnly(`const { messagingFrontendOnlyModule } = require('@theia/core/lib/browser-only/messaging/messaging-frontend-only-module');
|
|
108
110
|
container.load(messagingFrontendOnlyModule);`)}
|
|
109
111
|
|
|
112
|
+
${this.emitStartupLog('container created')}
|
|
113
|
+
|
|
110
114
|
await preload(container);
|
|
115
|
+
${this.emitStartupLog('preloaded')}
|
|
111
116
|
|
|
112
117
|
${this.ifMonaco(() => `
|
|
113
118
|
const { MonacoInit } = require('@theia/monaco/lib/browser/monaco-init');
|
|
114
119
|
`)};
|
|
115
120
|
|
|
116
121
|
const { FrontendApplication } = require('@theia/core/lib/browser');
|
|
117
|
-
const { frontendApplicationModule } = require('@theia/core/lib/browser/frontend-application-module');
|
|
122
|
+
const { frontendApplicationModule } = require('@theia/core/lib/browser/frontend-application-module');
|
|
118
123
|
const { loggerFrontendModule } = require('@theia/core/lib/browser/logger-frontend-module');
|
|
119
124
|
|
|
120
125
|
container.load(frontendApplicationModule);
|
|
121
126
|
${this.pck.ifBrowserOnly(`const { frontendOnlyApplicationModule } = require('@theia/core/lib/browser-only/frontend-only-application-module');
|
|
122
127
|
container.load(frontendOnlyApplicationModule);`)}
|
|
123
|
-
|
|
128
|
+
|
|
124
129
|
container.load(loggerFrontendModule);
|
|
125
130
|
${this.ifBrowserOnly(`const { loggerFrontendOnlyModule } = require('@theia/core/lib/browser-only/logger-frontend-only-module');
|
|
126
131
|
container.load(loggerFrontendOnlyModule);`)}
|
|
127
132
|
|
|
133
|
+
${this.emitStartupLog('core modules loaded')}
|
|
134
|
+
|
|
128
135
|
try {
|
|
129
136
|
${Array.from(frontendModules.values(), jsModulePath => `\
|
|
130
137
|
await load(container, ${this.importOrRequire()}('${jsModulePath}'));`).join(os_1.EOL)}
|
|
131
138
|
${this.ifMonaco(() => `
|
|
132
139
|
MonacoInit.init(container);
|
|
133
140
|
`)};
|
|
141
|
+
${this.emitStartupLog('modules loaded')}
|
|
134
142
|
await start();
|
|
135
143
|
} catch (reason) {
|
|
136
144
|
console.error('Failed to start the frontend application.');
|
|
@@ -141,7 +149,10 @@ ${Array.from(frontendModules.values(), jsModulePath => `\
|
|
|
141
149
|
|
|
142
150
|
function start() {
|
|
143
151
|
(window['theia'] = window['theia'] || {}).container = container;
|
|
144
|
-
|
|
152
|
+
${this.emitStartupLog('resolving application')}
|
|
153
|
+
const application = container.get(FrontendApplication);
|
|
154
|
+
${this.emitStartupLog('application resolved')}
|
|
155
|
+
return application.start();
|
|
145
156
|
}
|
|
146
157
|
})();
|
|
147
158
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-generator.js","sourceRoot":"","sources":["../../src/generator/frontend-generator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,8CAA8C;AAE9C,2BAAyB;AACzB,6DAA2E;AAC3E,2BAA8C;AAE9C,MAAa,iBAAkB,SAAQ,sCAAiB;IAEpD,KAAK,CAAC,QAAQ,CAAC,OAA0B;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACzG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAC5I,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;QAChG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACzH,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,eAAoC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACd,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,OAAO,IAAA,iBAAY,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7C,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAES,gBAAgB,CAAC,eAAoC;QAC3D,OAAO;;;QAGP,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;;;;iCAIb,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;;;;QAIlE,CAAC;IACL,CAAC;IAES,gBAAgB,CAAC,eAAoC;QAC3D,OAAO;;;;WAIJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,UAAU,CAAC;IAChE,CAAC;IAES,cAAc,CAAC,eAAoC,EAAE,sBAA2C;QACtG,OAAO
|
|
1
|
+
{"version":3,"file":"frontend-generator.js","sourceRoot":"","sources":["../../src/generator/frontend-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.71.0-next.
|
|
3
|
+
"version": "1.71.0-next.72+95c8dba0e",
|
|
4
4
|
"description": "Theia application manager API.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -29,37 +29,37 @@
|
|
|
29
29
|
"watch": "theiaext watch"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@babel/core": "^7.
|
|
33
|
-
"@babel/plugin-transform-classes": "^7.
|
|
34
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
35
|
-
"@babel/preset-env": "^7.
|
|
36
|
-
"@electron/rebuild": "^4.0.
|
|
37
|
-
"@theia/application-package": "1.71.0-next.
|
|
38
|
-
"@theia/ffmpeg": "1.71.0-next.
|
|
39
|
-
"@theia/native-webpack-plugin": "1.71.0-next.
|
|
40
|
-
"@types/fs-extra": "^4.0.
|
|
41
|
-
"@types/semver": "^7.
|
|
42
|
-
"babel-loader": "^8.
|
|
32
|
+
"@babel/core": "^7.29.0",
|
|
33
|
+
"@babel/plugin-transform-classes": "^7.28.6",
|
|
34
|
+
"@babel/plugin-transform-runtime": "^7.29.0",
|
|
35
|
+
"@babel/preset-env": "^7.29.2",
|
|
36
|
+
"@electron/rebuild": "^4.0.3",
|
|
37
|
+
"@theia/application-package": "1.71.0-next.72+95c8dba0e",
|
|
38
|
+
"@theia/ffmpeg": "1.71.0-next.72+95c8dba0e",
|
|
39
|
+
"@theia/native-webpack-plugin": "1.71.0-next.72+95c8dba0e",
|
|
40
|
+
"@types/fs-extra": "^4.0.15",
|
|
41
|
+
"@types/semver": "^7.7.1",
|
|
42
|
+
"babel-loader": "^8.4.1",
|
|
43
43
|
"buffer": "^6.0.3",
|
|
44
|
-
"compression-webpack-plugin": "^9.
|
|
44
|
+
"compression-webpack-plugin": "^9.2.0",
|
|
45
45
|
"copy-webpack-plugin": "^8.1.1",
|
|
46
|
-
"css-loader": "^6.
|
|
46
|
+
"css-loader": "^6.11.0",
|
|
47
47
|
"fs-extra": "^4.0.2",
|
|
48
48
|
"http-server": "^14.1.1",
|
|
49
49
|
"ignore-loader": "^0.1.2",
|
|
50
|
-
"less": "^3.
|
|
51
|
-
"mini-css-extract-plugin": "^2.
|
|
52
|
-
"node-loader": "^2.
|
|
50
|
+
"less": "^3.13.1",
|
|
51
|
+
"mini-css-extract-plugin": "^2.10.2",
|
|
52
|
+
"node-loader": "^2.1.0",
|
|
53
53
|
"path-browserify": "^1.0.1",
|
|
54
|
-
"semver": "^7.
|
|
54
|
+
"semver": "^7.7.4",
|
|
55
55
|
"source-map": "^0.6.1",
|
|
56
|
-
"source-map-loader": "^2.0.
|
|
57
|
-
"source-map-support": "^0.5.
|
|
56
|
+
"source-map-loader": "^2.0.2",
|
|
57
|
+
"source-map-support": "^0.5.21",
|
|
58
58
|
"string-replace-loader": "^3.3.0",
|
|
59
59
|
"style-loader": "^2.0.0",
|
|
60
60
|
"tslib": "^2.6.2",
|
|
61
61
|
"umd-compat-loader": "^2.1.2",
|
|
62
|
-
"webpack": "^5.
|
|
62
|
+
"webpack": "^5.105.4",
|
|
63
63
|
"webpack-cli": "4.7.0",
|
|
64
64
|
"worker-loader": "^3.0.8",
|
|
65
65
|
"yargs": "^15.3.1"
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"nyc": {
|
|
79
79
|
"extends": "../../configs/nyc.json"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "95c8dba0ee6349c6be262ac2cf383909a3b62761"
|
|
82
82
|
}
|
|
@@ -66,4 +66,13 @@ export abstract class AbstractGenerator {
|
|
|
66
66
|
return JSON.stringify(object, undefined, 4);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
protected emitStartupLogger(component: string, epochLabel: string, options?: { requirePerformance?: boolean }): string {
|
|
70
|
+
const perfImport = options?.requirePerformance ? 'const { performance } = require(\'perf_hooks\');\n' : '';
|
|
71
|
+
return `${perfImport}const startupLog = (milestone) => console.debug(\`${component}: \${milestone} [\${(performance.now() / 1000).toFixed(3)} s since ${epochLabel}]\`);`;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
protected emitStartupLog(milestone: string): string {
|
|
75
|
+
return `startupLog('${milestone}');`;
|
|
76
|
+
}
|
|
77
|
+
|
|
69
78
|
}
|
|
@@ -36,6 +36,8 @@ export class BackendGenerator extends AbstractGenerator {
|
|
|
36
36
|
return `// @ts-check
|
|
37
37
|
|
|
38
38
|
require('@theia/core/shared/reflect-metadata');
|
|
39
|
+
${this.emitStartupLogger('Electron main', 'electron main start', { requirePerformance: true })}
|
|
40
|
+
${this.emitStartupLog('loading modules...')}
|
|
39
41
|
|
|
40
42
|
// Workaround for https://github.com/electron/electron/issues/9225. Chrome has an issue where
|
|
41
43
|
// in certain locales (e.g. PL), image metrics are wrongly computed. We explicitly set the
|
|
@@ -69,7 +71,7 @@ process.env.LC_NUMERIC = 'C';
|
|
|
69
71
|
app.quit();
|
|
70
72
|
return;
|
|
71
73
|
}
|
|
72
|
-
|
|
74
|
+
|
|
73
75
|
const container = new Container();
|
|
74
76
|
container.load(electronMainApplicationModule);
|
|
75
77
|
container.bind(ElectronMainApplicationGlobals).toConstantValue({
|
|
@@ -78,21 +80,25 @@ process.env.LC_NUMERIC = 'C';
|
|
|
78
80
|
THEIA_FRONTEND_HTML_PATH: resolve(__dirname, '..', '..', 'lib', 'frontend', 'index.html'),
|
|
79
81
|
THEIA_SECONDARY_WINDOW_HTML_PATH: resolve(__dirname, '..', '..', 'lib', 'frontend', 'secondary-window.html')
|
|
80
82
|
});
|
|
81
|
-
|
|
83
|
+
${this.emitStartupLog('container created')}
|
|
84
|
+
|
|
82
85
|
function load(raw) {
|
|
83
86
|
return Promise.resolve(raw.default).then(module =>
|
|
84
87
|
container.load(module)
|
|
85
88
|
);
|
|
86
89
|
}
|
|
87
|
-
|
|
90
|
+
|
|
88
91
|
async function start() {
|
|
92
|
+
${this.emitStartupLog('resolving application')}
|
|
89
93
|
const application = container.get(ElectronMainApplication);
|
|
94
|
+
${this.emitStartupLog('application resolved')}
|
|
90
95
|
await application.start(config);
|
|
91
96
|
}
|
|
92
97
|
|
|
93
98
|
try {
|
|
94
99
|
${Array.from(electronMainModules?.values() ?? [], jsModulePath => `\
|
|
95
100
|
await load(require('${jsModulePath}'));`).join(EOL)}
|
|
101
|
+
${this.emitStartupLog('modules loaded')}
|
|
96
102
|
await start();
|
|
97
103
|
} catch (reason) {
|
|
98
104
|
if (typeof reason !== 'number') {
|
|
@@ -109,7 +115,9 @@ ${Array.from(electronMainModules?.values() ?? [], jsModulePath => `\
|
|
|
109
115
|
|
|
110
116
|
protected compileServer(backendModules: Map<string, string>): string {
|
|
111
117
|
return `// @ts-check
|
|
112
|
-
require('reflect-metadata')
|
|
118
|
+
require('reflect-metadata');
|
|
119
|
+
${this.emitStartupLogger('Backend server', 'backend process start', { requirePerformance: true })}
|
|
120
|
+
${this.emitStartupLog('loading modules...')}${this.ifElectron(`
|
|
113
121
|
|
|
114
122
|
// Patch electron version if missing, see https://github.com/eclipse-theia/theia/pull/7361#pullrequestreview-377065146
|
|
115
123
|
if (typeof process.versions.electron === 'undefined' && typeof process.env.THEIA_ELECTRON_VERSION === 'string') {
|
|
@@ -134,6 +142,7 @@ const container = new Container();
|
|
|
134
142
|
container.load(backendApplicationModule);
|
|
135
143
|
container.load(messagingBackendModule);
|
|
136
144
|
container.load(loggerBackendModule);
|
|
145
|
+
${this.emitStartupLog('container created')}
|
|
137
146
|
|
|
138
147
|
function defaultServeStatic(app) {
|
|
139
148
|
app.use(express.static(path.resolve(__dirname, '../../lib/frontend')))
|
|
@@ -150,8 +159,13 @@ async function start(port, host, argv = process.argv) {
|
|
|
150
159
|
container.bind(BackendApplicationServer).toConstantValue({ configure: defaultServeStatic });
|
|
151
160
|
}
|
|
152
161
|
let result = undefined;
|
|
153
|
-
await container.get(CliManager).initializeCli(argv.slice(2),
|
|
154
|
-
() =>
|
|
162
|
+
await container.get(CliManager).initializeCli(argv.slice(2),
|
|
163
|
+
() => {
|
|
164
|
+
${this.emitStartupLog('resolving application')}
|
|
165
|
+
const application = container.get(BackendApplication);
|
|
166
|
+
${this.emitStartupLog('application resolved')}
|
|
167
|
+
return application.configured;
|
|
168
|
+
},
|
|
155
169
|
async () => {
|
|
156
170
|
result = container.get(BackendApplication).start(port, host);
|
|
157
171
|
});
|
|
@@ -166,11 +180,12 @@ module.exports = async (port, host, argv) => {
|
|
|
166
180
|
try {
|
|
167
181
|
${Array.from(backendModules.values(), jsModulePath => `\
|
|
168
182
|
await load(require('${jsModulePath}'));`).join(EOL)}
|
|
183
|
+
${this.emitStartupLog('modules loaded')}
|
|
169
184
|
return await start(port, host, argv);
|
|
170
185
|
} catch (error) {
|
|
171
186
|
if (typeof error !== 'number') {
|
|
172
187
|
console.error('Failed to start the backend application:');
|
|
173
|
-
console.error(error);
|
|
188
|
+
console.error(error);
|
|
174
189
|
process.exitCode = 1;
|
|
175
190
|
}
|
|
176
191
|
throw error;
|
|
@@ -181,6 +196,8 @@ ${Array.from(backendModules.values(), jsModulePath => `\
|
|
|
181
196
|
|
|
182
197
|
protected compileMain(backendModules: Map<string, string>): string {
|
|
183
198
|
return `// @ts-check
|
|
199
|
+
${this.emitStartupLogger('Backend main', 'backend process start', { requirePerformance: true })}
|
|
200
|
+
${this.emitStartupLog('entry point loaded')}
|
|
184
201
|
const { BackendApplicationConfigProvider } = require('@theia/core/lib/node/backend-application-config-provider');
|
|
185
202
|
const main = require('@theia/core/lib/node/main');
|
|
186
203
|
|
|
@@ -73,6 +73,8 @@ export class FrontendGenerator extends AbstractGenerator {
|
|
|
73
73
|
return `\
|
|
74
74
|
// @ts-check
|
|
75
75
|
require('reflect-metadata');
|
|
76
|
+
${this.emitStartupLogger('Frontend', 'frontend page start')}
|
|
77
|
+
${this.emitStartupLog('loading modules...')}
|
|
76
78
|
const { Container } = require('@theia/core/shared/inversify');
|
|
77
79
|
const { FrontendApplicationConfigProvider } = require('@theia/core/lib/browser/frontend-application-config-provider');
|
|
78
80
|
|
|
@@ -114,30 +116,36 @@ module.exports = (async () => {
|
|
|
114
116
|
${this.ifBrowserOnly(`const { messagingFrontendOnlyModule } = require('@theia/core/lib/browser-only/messaging/messaging-frontend-only-module');
|
|
115
117
|
container.load(messagingFrontendOnlyModule);`)}
|
|
116
118
|
|
|
119
|
+
${this.emitStartupLog('container created')}
|
|
120
|
+
|
|
117
121
|
await preload(container);
|
|
122
|
+
${this.emitStartupLog('preloaded')}
|
|
118
123
|
|
|
119
124
|
${this.ifMonaco(() => `
|
|
120
125
|
const { MonacoInit } = require('@theia/monaco/lib/browser/monaco-init');
|
|
121
126
|
`)};
|
|
122
127
|
|
|
123
128
|
const { FrontendApplication } = require('@theia/core/lib/browser');
|
|
124
|
-
const { frontendApplicationModule } = require('@theia/core/lib/browser/frontend-application-module');
|
|
129
|
+
const { frontendApplicationModule } = require('@theia/core/lib/browser/frontend-application-module');
|
|
125
130
|
const { loggerFrontendModule } = require('@theia/core/lib/browser/logger-frontend-module');
|
|
126
131
|
|
|
127
132
|
container.load(frontendApplicationModule);
|
|
128
133
|
${this.pck.ifBrowserOnly(`const { frontendOnlyApplicationModule } = require('@theia/core/lib/browser-only/frontend-only-application-module');
|
|
129
134
|
container.load(frontendOnlyApplicationModule);`)}
|
|
130
|
-
|
|
135
|
+
|
|
131
136
|
container.load(loggerFrontendModule);
|
|
132
137
|
${this.ifBrowserOnly(`const { loggerFrontendOnlyModule } = require('@theia/core/lib/browser-only/logger-frontend-only-module');
|
|
133
138
|
container.load(loggerFrontendOnlyModule);`)}
|
|
134
139
|
|
|
140
|
+
${this.emitStartupLog('core modules loaded')}
|
|
141
|
+
|
|
135
142
|
try {
|
|
136
143
|
${Array.from(frontendModules.values(), jsModulePath => `\
|
|
137
144
|
await load(container, ${this.importOrRequire()}('${jsModulePath}'));`).join(EOL)}
|
|
138
145
|
${this.ifMonaco(() => `
|
|
139
146
|
MonacoInit.init(container);
|
|
140
147
|
`)};
|
|
148
|
+
${this.emitStartupLog('modules loaded')}
|
|
141
149
|
await start();
|
|
142
150
|
} catch (reason) {
|
|
143
151
|
console.error('Failed to start the frontend application.');
|
|
@@ -148,7 +156,10 @@ ${Array.from(frontendModules.values(), jsModulePath => `\
|
|
|
148
156
|
|
|
149
157
|
function start() {
|
|
150
158
|
(window['theia'] = window['theia'] || {}).container = container;
|
|
151
|
-
|
|
159
|
+
${this.emitStartupLog('resolving application')}
|
|
160
|
+
const application = container.get(FrontendApplication);
|
|
161
|
+
${this.emitStartupLog('application resolved')}
|
|
162
|
+
return application.start();
|
|
152
163
|
}
|
|
153
164
|
})();
|
|
154
165
|
`;
|