@fontoxml/fontoxml-development-tools 3.10.0 → 3.12.0-beta.1

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.
Files changed (206) hide show
  1. package/npm-shrinkwrap.json +3842 -8330
  2. package/package.json +13 -19
  3. package/src/App.js +1 -1
  4. package/src/FdtCommand.js +3 -3
  5. package/src/FdtLicense.js +95 -114
  6. package/src/ModuleRegistrationApi.js +44 -16
  7. package/src/addCoreModulesToApp.js +8 -0
  8. package/src/editorVersions.js +19 -5
  9. package/src/modules/connectors/index.js +109 -16
  10. package/src/modules/connectors/instanceBuild/Dockerfile.build +1 -1
  11. package/src/modules/connectors/instanceBuild/Dockerfile.run +1 -1
  12. package/src/modules/connectors/instanceDevBuild/docker-compose.yml +2 -2
  13. package/src/modules/content-quality/index.js +101 -20
  14. package/src/modules/content-quality/instanceBuild/Dockerfile +1 -1
  15. package/src/modules/content-quality/instanceDevBuild/docker-compose.yml +1 -1
  16. package/src/modules/core/src/precontroller.help.js +23 -26
  17. package/src/modules/document-history/index.js +101 -20
  18. package/src/modules/document-history/instanceBuild/Dockerfile +1 -1
  19. package/src/modules/document-history/instanceDevBuild/docker-compose.yml +1 -1
  20. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardDocumentRouter.js +10 -0
  21. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentHistoryGetPostRouteHandler.js +51 -0
  22. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentPostRouteHandler.js +65 -76
  23. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentPresearchPostRouteHandler.js +10 -7
  24. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentPreviewRouteHandler.js +10 -0
  25. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentRevisionGetPostRouteHandler.js +69 -0
  26. package/src/modules/editor/src/commands/command.convert.editor.controller.js +11 -4
  27. package/src/modules/editor/src/commands/command.convert.package.controller.js +11 -4
  28. package/src/modules/editor/src/getAppManifest.js +3 -3
  29. package/src/modules/editor/src/getWebpackConfig.js +13 -0
  30. package/src/modules/editor/src/webpackPlugins/CheckDeepImportsResolvePlugin.js +4 -0
  31. package/src/modules/editor-pre-7-7-0/src/api/downloadEditorSDK.js +16 -12
  32. package/src/modules/editor-pre-7-7-0/src/api/executeAndLog.js +3 -2
  33. package/src/modules/editor-pre-7-7-0/src/api/init/createConfigConfiguration.js +86 -48
  34. package/src/modules/editor-pre-7-7-0/src/api/schema/compile.js +16 -22
  35. package/src/modules/editor-pre-7-7-0/src/api/schema/createSchemaPackages.js +8 -0
  36. package/src/modules/editor-pre-7-7-0/src/api/schema/getSchemaFontoJson.js +76 -48
  37. package/src/modules/editor-pre-7-7-0/src/api/schema/zipHelpers.js +6 -1
  38. package/src/modules/editor-pre-7-7-0/src/command.schema.compile.controller.js +51 -2
  39. package/src/modules/editor-pre-7-7-0/test/api/init/createConfigConfiguration.test.js +71 -33
  40. package/src/modules/editor-pre-7-7-0/test/api/init/fixtures/configjs-7160.js +45 -0
  41. package/src/modules/editor-pre-7-7-0/test/api/init/fixtures/configjs-800.js +45 -0
  42. package/src/modules/editor-pre-7-7-0/test/api/init/fixtures/configjs-810.js +32 -0
  43. package/src/modules/editor-pre-7-7-0/test/api/schema/buildSchemaExperienceConfigurationModel.test.js +70 -79
  44. package/src/modules/editor-pre-7-7-0/test/api/schema/fixtures/dita-example-schema-bundle/listOfFiles.json +1 -36
  45. package/src/modules/editor-pre-7-7-0/test/api/schema/fixtures/invalid-fonto-json/fonto.json +1 -0
  46. package/src/modules/editor-pre-7-7-0/test/api/schema/getSchemaFontoJson.test.js +174 -0
  47. package/src/modules/editor-pre-7-7-0/test/api/schema/zipSchemaSource.test.js +10 -4
  48. package/src/modules/editor-pre-7-7-0/test/schemaCompileController.test.js +205 -0
  49. package/src/modules/localization/index.js +2 -2
  50. package/src/modules/operations/src/api/getOperations.js +3 -3
  51. package/src/modules/review/index.js +103 -18
  52. package/src/modules/review/instanceBuild/Dockerfile +1 -1
  53. package/src/modules/review/instanceDevBuild/docker-compose.yml +1 -1
  54. package/src/modules/schema/src/api/getSchemaSummaries.js +2 -2
  55. package/src/modules/schema/test/getSchemaSummaries.test.js +14 -10
  56. package/src/modules/schema-compiler/index.js +99 -18
  57. package/src/modules/schema-compiler/instanceBuild/Dockerfile +1 -1
  58. package/src/modules/schema-compiler/instanceDevBuild/docker-compose.yml +1 -1
  59. package/src/modules/shared/index.js +3 -0
  60. package/src/modules/shared/package.json +14 -0
  61. package/src/modules/shared/src/addBackendDockerCommands.js +334 -0
  62. package/src/modules/shared/src/addBackendDownloadSelfContainedCommands.js +78 -0
  63. package/src/modules/shared/src/addBackendVersionsCommands.js +55 -0
  64. package/src/modules/shared/src/controller-templates/command.backend.build.controller.factory.js +273 -0
  65. package/src/modules/shared/src/controller-templates/command.backend.download-self-contained.controller.factory.js +131 -0
  66. package/src/modules/shared/src/controller-templates/command.backend.init.controller.factory.js +88 -0
  67. package/src/modules/shared/src/controller-templates/command.backend.run.controller.factory.js +420 -0
  68. package/src/modules/shared/src/controller-templates/command.backend.upgrade.controller.factory.js +79 -0
  69. package/src/modules/shared/src/controller-templates/command.backend.versions.controller.factory.js +23 -0
  70. package/src/modules/shared/src/controller-templates/docker/BackendManifest.js +42 -0
  71. package/src/modules/shared/src/controller-templates/docker/copyWhitelistedFiles.js +23 -0
  72. package/src/modules/shared/src/controller-templates/docker/dockerCleanup.js +146 -0
  73. package/src/modules/shared/src/controller-templates/docker/tryDockerLogout.js +31 -0
  74. package/src/modules/shared/src/controller-templates/docker/validateBackendInstance.js +48 -0
  75. package/src/modules/shared/src/ensureDockerCommands.js +61 -0
  76. package/src/modules/shared/src/executeAndLog.js +113 -0
  77. package/src/modules/{review/src/utilities/setEntryVisibility.js → shared/src/setFileVisibility.js} +8 -2
  78. package/src/modules/spell-checker/index.js +101 -18
  79. package/src/modules/spell-checker/instanceBuild/Dockerfile +1 -1
  80. package/src/modules/spell-checker/instanceDevBuild/docker-compose.yml +1 -1
  81. package/test/module.shared.test.js +81 -0
  82. package/src/modules/connectors/src/command.build.controller.js +0 -256
  83. package/src/modules/connectors/src/command.build.js +0 -54
  84. package/src/modules/connectors/src/command.download-self-contained.controller.js +0 -110
  85. package/src/modules/connectors/src/command.download-self-contained.js +0 -50
  86. package/src/modules/connectors/src/command.init.controller.js +0 -91
  87. package/src/modules/connectors/src/command.init.js +0 -42
  88. package/src/modules/connectors/src/command.run.controller.js +0 -462
  89. package/src/modules/connectors/src/command.run.js +0 -67
  90. package/src/modules/connectors/src/command.upgrade.controller.js +0 -52
  91. package/src/modules/connectors/src/command.upgrade.js +0 -42
  92. package/src/modules/connectors/src/command.versions.controller.js +0 -14
  93. package/src/modules/connectors/src/command.versions.js +0 -25
  94. package/src/modules/connectors/src/utilities/FontoxmlConnectorsManifest.js +0 -32
  95. package/src/modules/connectors/src/utilities/cleanup.js +0 -70
  96. package/src/modules/connectors/src/utilities/constants.js +0 -42
  97. package/src/modules/connectors/src/utilities/copyWhitelistedFiles.js +0 -22
  98. package/src/modules/connectors/src/utilities/executeAndLog.js +0 -63
  99. package/src/modules/connectors/src/utilities/getVerbosityLevel.js +0 -11
  100. package/src/modules/connectors/src/utilities/getWhitelist.js +0 -16
  101. package/src/modules/connectors/src/utilities/setEntryVisibility.js +0 -22
  102. package/src/modules/connectors/src/utilities/validateInstance.js +0 -29
  103. package/src/modules/content-quality/src/command.build.controller.js +0 -260
  104. package/src/modules/content-quality/src/command.build.js +0 -56
  105. package/src/modules/content-quality/src/command.download-self-contained.controller.js +0 -110
  106. package/src/modules/content-quality/src/command.download-self-contained.js +0 -52
  107. package/src/modules/content-quality/src/command.init.controller.js +0 -91
  108. package/src/modules/content-quality/src/command.init.js +0 -44
  109. package/src/modules/content-quality/src/command.run.controller.js +0 -444
  110. package/src/modules/content-quality/src/command.run.js +0 -64
  111. package/src/modules/content-quality/src/command.upgrade.controller.js +0 -52
  112. package/src/modules/content-quality/src/command.upgrade.js +0 -44
  113. package/src/modules/content-quality/src/command.versions.controller.js +0 -14
  114. package/src/modules/content-quality/src/command.versions.js +0 -25
  115. package/src/modules/content-quality/src/utilities/FontoxmlFcqManifest.js +0 -30
  116. package/src/modules/content-quality/src/utilities/cleanup.js +0 -70
  117. package/src/modules/content-quality/src/utilities/constants.js +0 -44
  118. package/src/modules/content-quality/src/utilities/copyWhitelistedFiles.js +0 -22
  119. package/src/modules/content-quality/src/utilities/executeAndLog.js +0 -63
  120. package/src/modules/content-quality/src/utilities/getVerbosityLevel.js +0 -11
  121. package/src/modules/content-quality/src/utilities/getWhitelist.js +0 -16
  122. package/src/modules/content-quality/src/utilities/setEntryVisibility.js +0 -22
  123. package/src/modules/content-quality/src/utilities/validateInstance.js +0 -29
  124. package/src/modules/document-history/src/command.build.controller.js +0 -260
  125. package/src/modules/document-history/src/command.build.js +0 -56
  126. package/src/modules/document-history/src/command.download-self-contained.controller.js +0 -110
  127. package/src/modules/document-history/src/command.download-self-contained.js +0 -50
  128. package/src/modules/document-history/src/command.init.controller.js +0 -91
  129. package/src/modules/document-history/src/command.init.js +0 -44
  130. package/src/modules/document-history/src/command.run.controller.js +0 -444
  131. package/src/modules/document-history/src/command.run.js +0 -64
  132. package/src/modules/document-history/src/command.upgrade.controller.js +0 -52
  133. package/src/modules/document-history/src/command.upgrade.js +0 -44
  134. package/src/modules/document-history/src/command.versions.controller.js +0 -14
  135. package/src/modules/document-history/src/command.versions.js +0 -25
  136. package/src/modules/document-history/src/utilities/FontoxmlFdhManifest.js +0 -30
  137. package/src/modules/document-history/src/utilities/cleanup.js +0 -70
  138. package/src/modules/document-history/src/utilities/constants.js +0 -44
  139. package/src/modules/document-history/src/utilities/copyWhitelistedFiles.js +0 -22
  140. package/src/modules/document-history/src/utilities/executeAndLog.js +0 -63
  141. package/src/modules/document-history/src/utilities/getVerbosityLevel.js +0 -11
  142. package/src/modules/document-history/src/utilities/getWhitelist.js +0 -16
  143. package/src/modules/document-history/src/utilities/setEntryVisibility.js +0 -22
  144. package/src/modules/document-history/src/utilities/validateInstance.js +0 -29
  145. package/src/modules/review/src/command.build.controller.js +0 -256
  146. package/src/modules/review/src/command.build.js +0 -54
  147. package/src/modules/review/src/command.download-self-contained.controller.js +0 -107
  148. package/src/modules/review/src/command.download-self-contained.js +0 -50
  149. package/src/modules/review/src/command.init.controller.js +0 -89
  150. package/src/modules/review/src/command.init.js +0 -42
  151. package/src/modules/review/src/command.run.controller.js +0 -428
  152. package/src/modules/review/src/command.run.js +0 -60
  153. package/src/modules/review/src/command.upgrade.controller.js +0 -59
  154. package/src/modules/review/src/command.upgrade.js +0 -42
  155. package/src/modules/review/src/command.versions.controller.js +0 -12
  156. package/src/modules/review/src/command.versions.js +0 -25
  157. package/src/modules/review/src/utilities/FontoxmlReviewManifest.js +0 -30
  158. package/src/modules/review/src/utilities/cleanup.js +0 -70
  159. package/src/modules/review/src/utilities/constants.js +0 -42
  160. package/src/modules/review/src/utilities/copyWhitelistedFiles.js +0 -22
  161. package/src/modules/review/src/utilities/executeAndLog.js +0 -63
  162. package/src/modules/review/src/utilities/getVerbosityLevel.js +0 -11
  163. package/src/modules/review/src/utilities/getWhitelist.js +0 -16
  164. package/src/modules/review/src/utilities/validateInstance.js +0 -45
  165. package/src/modules/schema-compiler/src/command.build.controller.js +0 -256
  166. package/src/modules/schema-compiler/src/command.build.js +0 -54
  167. package/src/modules/schema-compiler/src/command.download-self-contained.controller.js +0 -110
  168. package/src/modules/schema-compiler/src/command.download-self-contained.js +0 -50
  169. package/src/modules/schema-compiler/src/command.init.controller.js +0 -91
  170. package/src/modules/schema-compiler/src/command.init.js +0 -42
  171. package/src/modules/schema-compiler/src/command.run.controller.js +0 -430
  172. package/src/modules/schema-compiler/src/command.run.js +0 -60
  173. package/src/modules/schema-compiler/src/command.upgrade.controller.js +0 -64
  174. package/src/modules/schema-compiler/src/command.upgrade.js +0 -42
  175. package/src/modules/schema-compiler/src/command.versions.controller.js +0 -14
  176. package/src/modules/schema-compiler/src/command.versions.js +0 -25
  177. package/src/modules/schema-compiler/src/utilities/FontoxmlSchemaCompilerManifest.js +0 -32
  178. package/src/modules/schema-compiler/src/utilities/cleanup.js +0 -70
  179. package/src/modules/schema-compiler/src/utilities/constants.js +0 -43
  180. package/src/modules/schema-compiler/src/utilities/copyWhitelistedFiles.js +0 -22
  181. package/src/modules/schema-compiler/src/utilities/executeAndLog.js +0 -63
  182. package/src/modules/schema-compiler/src/utilities/getVerbosityLevel.js +0 -11
  183. package/src/modules/schema-compiler/src/utilities/getWhitelist.js +0 -16
  184. package/src/modules/schema-compiler/src/utilities/setEntryVisibility.js +0 -22
  185. package/src/modules/schema-compiler/src/utilities/validateInstance.js +0 -47
  186. package/src/modules/spell-checker/src/command.build.controller.js +0 -257
  187. package/src/modules/spell-checker/src/command.build.js +0 -54
  188. package/src/modules/spell-checker/src/command.download-self-contained.controller.js +0 -110
  189. package/src/modules/spell-checker/src/command.download-self-contained.js +0 -50
  190. package/src/modules/spell-checker/src/command.init.controller.js +0 -91
  191. package/src/modules/spell-checker/src/command.init.js +0 -42
  192. package/src/modules/spell-checker/src/command.run.controller.js +0 -430
  193. package/src/modules/spell-checker/src/command.run.js +0 -62
  194. package/src/modules/spell-checker/src/command.upgrade.controller.js +0 -61
  195. package/src/modules/spell-checker/src/command.upgrade.js +0 -42
  196. package/src/modules/spell-checker/src/command.versions.controller.js +0 -14
  197. package/src/modules/spell-checker/src/command.versions.js +0 -25
  198. package/src/modules/spell-checker/src/utilities/FontoxmlSpellCheckerManifest.js +0 -32
  199. package/src/modules/spell-checker/src/utilities/cleanup.js +0 -70
  200. package/src/modules/spell-checker/src/utilities/constants.js +0 -42
  201. package/src/modules/spell-checker/src/utilities/copyWhitelistedFiles.js +0 -22
  202. package/src/modules/spell-checker/src/utilities/executeAndLog.js +0 -63
  203. package/src/modules/spell-checker/src/utilities/getVerbosityLevel.js +0 -11
  204. package/src/modules/spell-checker/src/utilities/getWhitelist.js +0 -16
  205. package/src/modules/spell-checker/src/utilities/setEntryVisibility.js +0 -22
  206. package/src/modules/spell-checker/src/utilities/validateInstance.js +0 -47
@@ -1,25 +1,19 @@
1
1
  import path from 'path';
2
- import xml2js from 'xml2js';
2
+ import { parseXmlDocument } from 'slimdom';
3
3
 
4
- const parseString = xml2js.parseString;
4
+ function createFileNameForNewDocument(content) {
5
+ let rootElementName = null;
5
6
 
6
- function createIdForNewDocument(content, callback) {
7
- parseString(content, function (error, result) {
8
- let rootElementName;
9
- if (!error) {
10
- const rootElements = Object.keys(result);
11
- if (rootElements.length) {
12
- rootElementName = rootElements[0];
13
- }
14
- }
15
-
16
- const timestamp = new Date();
17
- const fileName = `${timestamp.getTime()}${
18
- rootElementName ? `-${rootElementName}` : ''
19
- }.xml`;
7
+ try {
8
+ const document = parseXmlDocument(content);
9
+ rootElementName = document.documentElement.localName;
10
+ } catch (_err) {
11
+ // do nothing
12
+ }
20
13
 
21
- callback(null, fileName);
22
- });
14
+ return `${new Date().getTime()}${
15
+ rootElementName ? `-${rootElementName}` : ''
16
+ }.xml`;
23
17
  }
24
18
 
25
19
  function configureDocumentPostRouteHandler(config) {
@@ -31,68 +25,63 @@ function configureDocumentPostRouteHandler(config) {
31
25
  }
32
26
 
33
27
  const content = req.body.content;
34
- createIdForNewDocument(content, function (_error, fileName) {
35
- const context = req.body.context;
36
- const currentSession = req.getFontoSession(
37
- context.editSessionToken
38
- );
39
- const documentId = path
40
- .join(folderId, fileName)
41
- .replace(/\\/g, '/');
42
- const metadata = req.body.metadata;
43
- const documentContext = {
44
- isLockAcquired: true,
45
- };
46
- documentContext.documentMetadata = metadata;
28
+ const fileName = createFileNameForNewDocument(content);
29
+ const context = req.body.context;
30
+ const currentSession = req.getFontoSession(context.editSessionToken);
31
+ const documentId = path.join(folderId, fileName).replace(/\\/g, '/');
32
+ const metadata = req.body.metadata;
33
+ const documentContext = {
34
+ isLockAcquired: true,
35
+ };
36
+ documentContext.documentMetadata = metadata;
47
37
 
48
- req.cms.createNew(
49
- documentId,
50
- content,
51
- currentSession,
52
- (error, documentId) => {
53
- if (error) {
54
- res.status(400).send(error);
55
- return;
56
- }
38
+ req.cms.createNew(
39
+ documentId,
40
+ content,
41
+ currentSession,
42
+ (error, documentId) => {
43
+ if (error) {
44
+ res.status(400).send(error);
45
+ return;
46
+ }
57
47
 
58
- req.cms.getLatestRevisionId(
59
- documentId,
60
- currentSession.editSessionToken,
61
- (error, revisionId) => {
62
- if (error) {
63
- res.status(500).send(error);
64
- return;
65
- }
48
+ req.cms.getLatestRevisionId(
49
+ documentId,
50
+ currentSession.editSessionToken,
51
+ (error, revisionId) => {
52
+ if (error) {
53
+ res.status(500).send(error);
54
+ return;
55
+ }
66
56
 
67
- const documentLoadLock = {
68
- ...config.documentLoadLock,
69
- ...config.documentLoadLockOverrides[documentId],
70
- };
57
+ const documentLoadLock = {
58
+ ...config.documentLoadLock,
59
+ ...config.documentLoadLockOverrides[documentId],
60
+ };
71
61
 
72
- res.status(201)
73
- .set(
74
- 'content-type',
75
- 'application/json; charset=utf-8'
76
- )
77
- .json({
78
- documentId,
79
- revisionId,
80
- content,
81
- documentContext,
82
- metadata,
83
- lock: {
84
- isLockAcquired:
85
- documentLoadLock.isLockAcquired,
86
- isLockAvailable:
87
- documentLoadLock.isLockAvailable,
88
- reason: documentLoadLock.lockReason,
89
- },
90
- });
91
- }
92
- );
93
- }
94
- );
95
- });
62
+ res.status(201)
63
+ .set(
64
+ 'content-type',
65
+ 'application/json; charset=utf-8'
66
+ )
67
+ .json({
68
+ documentId,
69
+ revisionId,
70
+ content,
71
+ documentContext,
72
+ metadata,
73
+ lock: {
74
+ isLockAcquired:
75
+ documentLoadLock.isLockAcquired,
76
+ isLockAvailable:
77
+ documentLoadLock.isLockAvailable,
78
+ reason: documentLoadLock.lockReason,
79
+ },
80
+ });
81
+ }
82
+ );
83
+ }
84
+ );
96
85
  };
97
86
  }
98
87
 
@@ -1,7 +1,7 @@
1
- import evaluateXPathToBoolean from 'fontoxpath';
2
- import { slimdom, sync } from 'slimdom-sax-parser';
1
+ import fontoxpath from 'fontoxpath';
2
+ import { Node, parseXmlDocument } from 'slimdom';
3
3
 
4
- const { TEXT_NODE, ELEMENT_NODE } = slimdom.Node;
4
+ const { TEXT_NODE, ELEMENT_NODE } = Node;
5
5
 
6
6
  const DEFAULT_FIND_AND_REPLACE_PRESEARCH_CONFIG = {
7
7
  blockElementXPathTest:
@@ -23,7 +23,8 @@ function getSearchableTextForDom(findAndReplacePresearchConfig, dom) {
23
23
 
24
24
  if (
25
25
  node.nodeType !== ELEMENT_NODE ||
26
- evaluateXPathToBoolean(
26
+ // eslint-disable-next-line import/no-named-as-default-member
27
+ fontoxpath.evaluateXPathToBoolean(
27
28
  findAndReplacePresearchConfig.removedElementXPathTest,
28
29
  node
29
30
  )
@@ -34,7 +35,8 @@ function getSearchableTextForDom(findAndReplacePresearchConfig, dom) {
34
35
  }
35
36
 
36
37
  if (
37
- evaluateXPathToBoolean(
38
+ // eslint-disable-next-line import/no-named-as-default-member
39
+ fontoxpath.evaluateXPathToBoolean(
38
40
  findAndReplacePresearchConfig.outOfOrderElementXPathTest,
39
41
  node
40
42
  )
@@ -47,7 +49,8 @@ function getSearchableTextForDom(findAndReplacePresearchConfig, dom) {
47
49
  }
48
50
 
49
51
  if (
50
- evaluateXPathToBoolean(
52
+ // eslint-disable-next-line import/no-named-as-default-member
53
+ fontoxpath.evaluateXPathToBoolean(
51
54
  findAndReplacePresearchConfig.blockElementXPathTest,
52
55
  node
53
56
  )
@@ -95,7 +98,7 @@ function getResultForDocumentId(
95
98
  try {
96
99
  const searchableText = getSearchableTextForDom(
97
100
  findAndReplacePresearchConfig,
98
- sync(content)
101
+ parseXmlDocument(content)
99
102
  );
100
103
  if (!searchableText.match(new RegExp(searchTerm, 'gi'))) {
101
104
  resolve(null);
@@ -1,7 +1,17 @@
1
1
  import PDFDocument from 'pdfkit';
2
2
 
3
+ let warningForDeprecationWasLogged = false;
4
+
3
5
  export default function configureDocumentPreviewRouteHandler(_config) {
4
6
  return (req, res) => {
7
+ // Log Deprecation Warning
8
+ if (!warningForDeprecationWasLogged) {
9
+ console.warn(
10
+ '/n [fontoxml-publication-preview add-on] This API is deprecated and it will be removed in 8.4.0. Please refer to https://documentation.fontoxml.com/latest/upcoming-removals-8-4-167dd6e00dd4 to get more information.'
11
+ );
12
+ warningForDeprecationWasLogged = true;
13
+ }
14
+
5
15
  const pdf = new PDFDocument();
6
16
  pdf.pipe(res);
7
17
 
@@ -0,0 +1,69 @@
1
+ export default function configureDocumentRevisionGetPostRouteHandler() {
2
+ return (req, res) => {
3
+ const documentsRevisions = req.body.documentsRevisions;
4
+ const correlationIdRepository = req.repositories.correlationId;
5
+
6
+ // Because these requests do not originate from the editor, but from another server, we
7
+ // have no edit session token. We do, however, have an correlationId which we may resolve
8
+ // to the editSessionToken used by the corresponding call to the proxy
9
+ const editSessionToken =
10
+ correlationIdRepository.getEditSessionTokenForRequest(req);
11
+
12
+ const documentPromises = documentsRevisions.map((documentRevisions) => {
13
+ const documentId = documentRevisions.documentId;
14
+
15
+ const documentExists = req.cms.existsSync(documentId);
16
+ if (!documentExists) {
17
+ return {
18
+ documentId,
19
+ status: 404,
20
+ };
21
+ }
22
+
23
+ const revisionPromises = documentRevisions.revisionIds.map(
24
+ (revisionId) => {
25
+ return new Promise((resolve, _) => {
26
+ req.cms.loadRevision(
27
+ documentId,
28
+ revisionId,
29
+ editSessionToken,
30
+ (error, content) => {
31
+ const revisionResponse = {
32
+ revisionId,
33
+ };
34
+
35
+ if (error) {
36
+ revisionResponse.status = 404;
37
+ } else {
38
+ revisionResponse.status = 200;
39
+ revisionResponse.revision = {
40
+ content,
41
+ };
42
+ }
43
+ resolve(revisionResponse);
44
+ }
45
+ );
46
+ });
47
+ }
48
+ );
49
+
50
+ return Promise.all(revisionPromises).then((revisions) => {
51
+ return {
52
+ documentId,
53
+ status: 200,
54
+ revisions,
55
+ };
56
+ });
57
+ });
58
+
59
+ Promise.all(documentPromises).then((results) => {
60
+ const response = {
61
+ results,
62
+ };
63
+
64
+ res.status(200)
65
+ .set('content-type', 'application/json; charset=utf-8')
66
+ .json(response);
67
+ });
68
+ };
69
+ }
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs-extra';
2
+ import inquirer from 'inquirer';
2
3
  import path from 'path';
3
4
  import { performance } from 'perf_hooks';
4
- import Confirm from 'prompt-confirm';
5
5
 
6
6
  import convertEditorWithOutput from './api/convertEditorWithOutput.js';
7
7
 
@@ -28,9 +28,16 @@ export default async function editorConvertEditorCommand(req, res) {
28
28
 
29
29
  if (
30
30
  !doNotOverwrite &&
31
- !(await new Confirm(
32
- 'The conversion will overwrite all files in the working directory, are you sure you want to continue?'
33
- ).run())
31
+ !(await inquirer
32
+ .prompt([
33
+ {
34
+ type: 'confirm',
35
+ name: 'confirm',
36
+ message:
37
+ 'The conversion will overwrite all files in the working directory, are you sure you want to continue?',
38
+ },
39
+ ])
40
+ .then((answers) => !!answers.confirm))
34
41
  ) {
35
42
  res.break();
36
43
  res.notice('Aborted');
@@ -1,9 +1,9 @@
1
1
  import fastGlob from 'fast-glob';
2
2
  import fs from 'fs-extra';
3
+ import inquirer from 'inquirer';
3
4
  import pMap from 'p-map';
4
5
  import path from 'path';
5
6
  import { performance } from 'perf_hooks';
6
- import Confirm from 'prompt-confirm';
7
7
 
8
8
  import outputWarningsByFilename from '../helpers/outputWarningsByFilename.js';
9
9
  import prettifyJsFile from '../helpers/prettifyJsFile.js';
@@ -39,9 +39,16 @@ export default async function editorConvertPackageCommand(req, res) {
39
39
 
40
40
  if (
41
41
  !doNotOverwrite &&
42
- !(await new Confirm(
43
- 'The conversion will overwrite all files in the working directory, are you sure you want to continue?'
44
- ).run())
42
+ !(await inquirer
43
+ .prompt([
44
+ {
45
+ type: 'confirm',
46
+ name: 'confirm',
47
+ message:
48
+ 'The conversion will overwrite all files in the working directory, are you sure you want to continue?',
49
+ },
50
+ ])
51
+ .then((answers) => !!answers.confirm))
45
52
  ) {
46
53
  res.break();
47
54
  res.notice('Aborted');
@@ -8,9 +8,9 @@ export default async function getAppManifest(editorPath) {
8
8
  appManifest.favicon = appManifest.favicon || 'assets/images/favicon.ico';
9
9
  appManifest.name = appManifest.name || 'Fonto Editor';
10
10
  appManifest.supportedBrowsers = appManifest.supportedBrowsers || {
11
- chrome: '98',
12
- edge: '98',
13
- firefox: '97',
11
+ chrome: '101',
12
+ edge: '101',
13
+ firefox: '100',
14
14
  safari: '15',
15
15
  };
16
16
  return appManifest;
@@ -56,6 +56,15 @@ export default function getWebpackConfig(appConfig, appManifest, options) {
56
56
  srcFolder: picomatch.makeRe(`${paths.srcFolder}**/*`),
57
57
  testAssets: picomatch.makeRe(`${paths.testAssetsFolder}**/*`),
58
58
 
59
+ // Fds imports
60
+ // TODO: Remove backward compatibility, this is for pre 7.16.0 editors.
61
+ platformVendorsFdsImport: picomatch.makeRe(
62
+ `${paths.platformFolder}fontoxml-vendors/src/fds/*`
63
+ ),
64
+ platformLinkedVendorsFdsImport: picomatch.makeRe(
65
+ `${paths.platformLinkedFolder}fontoxml-vendors/src/fds/*`
66
+ ),
67
+
59
68
  // Deep imports
60
69
  platformDeepImport: picomatch.makeRe(
61
70
  `${paths.platformFolder}*/src/*/**/*`
@@ -383,6 +392,10 @@ export default function getWebpackConfig(appConfig, appManifest, options) {
383
392
  regExps.platformDeepImport,
384
393
  regExps.platformLinkedDeepImport,
385
394
  ],
395
+ importPathExcludeRegExps: [
396
+ regExps.platformVendorsFdsImport,
397
+ regExps.platformLinkedVendorsFdsImport,
398
+ ],
386
399
  fdtOutputPlugin,
387
400
  }),
388
401
  ].filter(Boolean),
@@ -84,6 +84,10 @@ export default class CheckDeepImportsResolvePlugin {
84
84
  // Does the import target an undesired path?
85
85
  this.options.importPathRegExps.some((regExp) =>
86
86
  regExp.test(request.path)
87
+ ) &&
88
+ // But does not match an excluded regexp.
89
+ !this.options.importPathExcludeRegExps.some((regExp) =>
90
+ regExp.test(request.path)
87
91
  )
88
92
  ) {
89
93
  // Make the absolute paths easier to read.
@@ -1,4 +1,4 @@
1
- import requestPromise from 'request-promise-native';
1
+ import fetch from 'node-fetch';
2
2
 
3
3
  /**
4
4
  * Download a zipped Fonto Editor SDK.
@@ -44,16 +44,19 @@ export default function downloadEditorSDK(sdkVersion, req, res) {
44
44
  .then((productData) => {
45
45
  const downloadUri =
46
46
  productData.products['editor'].selfContained.uri;
47
- return requestPromise
48
- .get(downloadUri, {
49
- resolveWithFullResponse: true,
50
- simple: false,
51
- encoding: null,
52
- })
53
- .then((response) => {
54
- switch (response.statusCode) {
47
+ return fetch(downloadUri, { method: 'GET' }).then(
48
+ async (response) => {
49
+ switch (response.status) {
55
50
  case 200:
56
- return response.body;
51
+ try {
52
+ return Buffer.from(
53
+ await response.arrayBuffer()
54
+ );
55
+ } catch (_err) {
56
+ throw new Error(
57
+ `Invalid response data from the Fonto Editor SDK server.`
58
+ );
59
+ }
57
60
  case 401:
58
61
  case 403:
59
62
  throw new Error(
@@ -65,9 +68,10 @@ export default function downloadEditorSDK(sdkVersion, req, res) {
65
68
  );
66
69
  default:
67
70
  throw new Error(
68
- `Invalid response from the Fonto Editor SDK server (${response.statusCode}).`
71
+ `Invalid response from the Fonto Editor SDK server (${response.status}).`
69
72
  );
70
73
  }
71
- });
74
+ }
75
+ );
72
76
  });
73
77
  }
@@ -1,6 +1,6 @@
1
+ import { supportsColor } from 'chalk';
1
2
  import cp from 'child_process';
2
3
  import os from 'os';
3
- import supportsColor from 'supports-color';
4
4
 
5
5
  export default (
6
6
  res,
@@ -14,7 +14,8 @@ export default (
14
14
  return new Promise((resolve, reject) => {
15
15
  const errors = [];
16
16
  const env = { ...process.env };
17
- if (supportsColor.stdout) {
17
+
18
+ if (supportsColor) {
18
19
  env.FORCE_COLOR = true;
19
20
  }
20
21