1 | import path from 'path';
|
2 | import { fileURLToPath } from 'url';
|
3 |
|
4 | import { isPre770Editor } from './editorVersions.js';
|
5 |
|
6 | const __filename = fileURLToPath(import.meta.url);
|
7 | const __dirname = path.dirname(__filename);
|
8 |
|
9 | export default async function addModulesToApp(app) {
|
10 |
|
11 | await app.enableBuiltInModule(
|
12 | path.join(__dirname, 'modules', 'localization')
|
13 | );
|
14 | await app.enableBuiltInModule(
|
15 | path.join(__dirname, 'modules', 'operations')
|
16 | );
|
17 | await app.enableBuiltInModule(path.join(__dirname, 'modules', 'schema'));
|
18 |
|
19 |
|
20 | await app.enableBuiltInModule(
|
21 | path.join(__dirname, 'modules', 'connectors')
|
22 | );
|
23 | await app.enableBuiltInModule(
|
24 | path.join(__dirname, 'modules', 'content-quality')
|
25 | );
|
26 | await app.enableBuiltInModule(
|
27 | path.join(__dirname, 'modules', 'document-history')
|
28 | );
|
29 | if (
|
30 | isPre770Editor(
|
31 | app &&
|
32 | app.request &&
|
33 | app.request.fdt &&
|
34 | app.request.fdt.editorRepository &&
|
35 | app.request.fdt.editorRepository.sdkVersion
|
36 | )
|
37 | ) {
|
38 | await app.enableBuiltInModule(
|
39 | path.join(__dirname, 'modules', 'editor-pre-7-7-0')
|
40 | );
|
41 | } else {
|
42 | await app.enableBuiltInModule(
|
43 | path.join(__dirname, 'modules', 'editor')
|
44 | );
|
45 | }
|
46 | await app.enableBuiltInModule(path.join(__dirname, 'modules', 'review'));
|
47 | await app.enableBuiltInModule(
|
48 | path.join(__dirname, 'modules', 'schema-compiler')
|
49 | );
|
50 | await app.enableBuiltInModule(
|
51 | path.join(__dirname, 'modules', 'spell-checker')
|
52 | );
|
53 |
|
54 |
|
55 | if (
|
56 | app.request &&
|
57 | app.request.fdt &&
|
58 | app.request.fdt.editorRepository &&
|
59 | app.request.fdt.editorRepository.config &&
|
60 | app.request.fdt.editorRepository.config.developmentToolsModules &&
|
61 | app.request.fdt.editorRepository.path
|
62 | ) {
|
63 | await Promise.all(
|
64 | app.request.fdt.editorRepository.config.developmentToolsModules.map(
|
65 | (developmentToolsModule) => {
|
66 | const developmentToolsModulePath = path.isAbsolute(
|
67 | developmentToolsModule
|
68 | )
|
69 | ? developmentToolsModule
|
70 | : path.join(
|
71 | app.request.fdt.editorRepository.path,
|
72 | developmentToolsModule
|
73 | );
|
74 | return app.enableModule(developmentToolsModulePath);
|
75 | }
|
76 | )
|
77 | );
|
78 | }
|
79 | }
|