@fontoxml/fontoxml-development-tools 3.7.0-beta.6 → 3.8.0-beta.2

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 (477) hide show
  1. package/{.eslintrc.js → .eslintrc.cjs} +0 -0
  2. package/{.prettierrc.js → .prettierrc.cjs} +0 -0
  3. package/bin/development-tools.js +8 -8
  4. package/index.js +4 -6
  5. package/npm-shrinkwrap.json +4790 -8570
  6. package/package.json +2 -1
  7. package/src/App.js +60 -36
  8. package/src/AssertableWritableStream.js +4 -9
  9. package/src/ConfigManager.js +3 -7
  10. package/src/EditorRepository.js +15 -16
  11. package/src/FdtCommand.js +12 -33
  12. package/src/FdtLicense.js +8 -14
  13. package/src/FdtTable.js +4 -8
  14. package/src/ModuleRegistrationApi.js +14 -12
  15. package/src/addCoreModulesToApp.js +7 -5
  16. package/src/addModulesToApp.js +46 -28
  17. package/src/createConfigFileInHomedir.js +4 -6
  18. package/src/editorVersions.js +4 -10
  19. package/src/enrichRequestObject.js +11 -7
  20. package/src/getParentDirectoryContainingFileSync.js +4 -6
  21. package/src/modules/connectors/index.js +13 -10
  22. package/src/modules/connectors/package.json +2 -1
  23. package/src/modules/connectors/src/command.build.controller.js +13 -15
  24. package/src/modules/connectors/src/command.build.js +11 -4
  25. package/src/modules/connectors/src/command.download-self-contained.controller.js +6 -8
  26. package/src/modules/connectors/src/command.download-self-contained.js +10 -3
  27. package/src/modules/connectors/src/command.init.controller.js +7 -9
  28. package/src/modules/connectors/src/command.init.js +10 -3
  29. package/src/modules/connectors/src/command.run.controller.js +14 -16
  30. package/src/modules/connectors/src/command.run.js +8 -4
  31. package/src/modules/connectors/src/command.upgrade.controller.js +7 -9
  32. package/src/modules/connectors/src/command.upgrade.js +10 -3
  33. package/src/modules/connectors/src/command.versions.controller.js +2 -4
  34. package/src/modules/connectors/src/command.versions.js +10 -3
  35. package/src/modules/connectors/src/utilities/FontoxmlConnectorsManifest.js +2 -6
  36. package/src/modules/connectors/src/utilities/cleanup.js +6 -8
  37. package/src/modules/connectors/src/utilities/constants.js +5 -3
  38. package/src/modules/connectors/src/utilities/copyWhitelistedFiles.js +4 -6
  39. package/src/modules/connectors/src/utilities/executeAndLog.js +4 -5
  40. package/src/modules/connectors/src/utilities/getVerbosityLevel.js +3 -5
  41. package/src/modules/connectors/src/utilities/getWhitelist.js +5 -7
  42. package/src/modules/connectors/src/utilities/setEntryVisibility.js +3 -14
  43. package/src/modules/connectors/src/utilities/validateInstance.js +5 -7
  44. package/src/modules/content-quality/index.js +14 -11
  45. package/src/modules/content-quality/package.json +2 -1
  46. package/src/modules/content-quality/src/command.build.controller.js +13 -15
  47. package/src/modules/content-quality/src/command.build.js +11 -4
  48. package/src/modules/content-quality/src/command.download-self-contained.controller.js +6 -8
  49. package/src/modules/content-quality/src/command.download-self-contained.js +11 -4
  50. package/src/modules/content-quality/src/command.init.controller.js +7 -9
  51. package/src/modules/content-quality/src/command.init.js +11 -4
  52. package/src/modules/content-quality/src/command.run.controller.js +13 -15
  53. package/src/modules/content-quality/src/command.run.js +8 -4
  54. package/src/modules/content-quality/src/command.upgrade.controller.js +7 -9
  55. package/src/modules/content-quality/src/command.upgrade.js +11 -4
  56. package/src/modules/content-quality/src/command.versions.controller.js +2 -4
  57. package/src/modules/content-quality/src/command.versions.js +10 -3
  58. package/src/modules/content-quality/src/utilities/FontoxmlFcqManifest.js +2 -6
  59. package/src/modules/content-quality/src/utilities/cleanup.js +6 -8
  60. package/src/modules/content-quality/src/utilities/constants.js +5 -3
  61. package/src/modules/content-quality/src/utilities/copyWhitelistedFiles.js +4 -6
  62. package/src/modules/content-quality/src/utilities/executeAndLog.js +4 -5
  63. package/src/modules/content-quality/src/utilities/getVerbosityLevel.js +3 -5
  64. package/src/modules/content-quality/src/utilities/getWhitelist.js +5 -7
  65. package/src/modules/content-quality/src/utilities/setEntryVisibility.js +3 -14
  66. package/src/modules/content-quality/src/utilities/validateInstance.js +5 -7
  67. package/src/modules/core/index.js +14 -18
  68. package/src/modules/core/package.json +2 -1
  69. package/src/modules/core/src/command.fdt.js +1 -3
  70. package/src/modules/core/src/command.license.validate.js +1 -3
  71. package/src/modules/core/src/command.module.js +6 -8
  72. package/src/modules/core/src/command.who.js +6 -4
  73. package/src/modules/core/src/precontroller.debug.js +2 -3
  74. package/src/modules/core/src/precontroller.help.js +7 -5
  75. package/src/modules/document-history/index.js +17 -8
  76. package/src/modules/document-history/instanceBuild/Dockerfile +4 -0
  77. package/src/modules/document-history/instanceDevBuild/.env +2 -0
  78. package/src/modules/document-history/instanceDevBuild/docker-compose.yml +9 -0
  79. package/src/modules/document-history/instanceTemplate/.env +7 -0
  80. package/src/modules/document-history/instanceTemplate/Configuration/sx.xml +4 -0
  81. package/src/modules/document-history/package.json +2 -1
  82. package/src/modules/document-history/src/command.build.controller.js +260 -0
  83. package/src/modules/document-history/src/command.build.js +56 -0
  84. package/src/modules/document-history/src/command.download-self-contained.controller.js +6 -8
  85. package/src/modules/document-history/src/command.download-self-contained.js +10 -3
  86. package/src/modules/document-history/src/command.init.controller.js +91 -0
  87. package/src/modules/document-history/src/command.init.js +44 -0
  88. package/src/modules/document-history/src/command.run.controller.js +444 -0
  89. package/src/modules/document-history/src/command.run.js +64 -0
  90. package/src/modules/document-history/src/command.upgrade.controller.js +52 -0
  91. package/src/modules/document-history/src/command.upgrade.js +44 -0
  92. package/src/modules/document-history/src/command.versions.controller.js +2 -4
  93. package/src/modules/document-history/src/command.versions.js +10 -3
  94. package/src/modules/document-history/src/utilities/FontoxmlFdhManifest.js +30 -0
  95. package/src/modules/document-history/src/utilities/cleanup.js +70 -0
  96. package/src/modules/document-history/src/utilities/constants.js +44 -0
  97. package/src/modules/document-history/src/utilities/copyWhitelistedFiles.js +22 -0
  98. package/src/modules/document-history/src/utilities/executeAndLog.js +63 -0
  99. package/src/modules/document-history/src/utilities/getVerbosityLevel.js +11 -0
  100. package/src/modules/document-history/src/utilities/getWhitelist.js +16 -0
  101. package/src/modules/document-history/src/utilities/setEntryVisibility.js +22 -0
  102. package/src/modules/document-history/src/utilities/validateInstance.js +29 -0
  103. package/src/modules/editor/dev-cms/configureFontoSessionMiddleware.js +1 -5
  104. package/src/modules/editor/dev-cms/configureScopeMiddleware.js +3 -5
  105. package/src/modules/editor/dev-cms/connectors-cms-standard/configureAssetGetRouteHandler.js +1 -3
  106. package/src/modules/editor/dev-cms/connectors-cms-standard/configureAssetPostRouteHandler.js +3 -5
  107. package/src/modules/editor/dev-cms/connectors-cms-standard/configureAssetPreviewGetRouteHandler.js +1 -3
  108. package/src/modules/editor/dev-cms/connectors-cms-standard/configureBodyParserMiddleware.js +3 -5
  109. package/src/modules/editor/dev-cms/connectors-cms-standard/configureBrowsePostRouteHandler.js +1 -3
  110. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardAssetRouter.js +5 -9
  111. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardBrowseRouter.js +3 -5
  112. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardDocumentRouter.js +13 -15
  113. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardHeartbeatRouter.js +3 -5
  114. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardProxyRouter.js +7 -10
  115. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardReferenceRouter.js +5 -7
  116. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardReviewRouter.js +10 -16
  117. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardRouter.js +3 -5
  118. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDebugRouteHandler.js +2 -4
  119. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDevelopmentCmsMiddleware.js +3 -3
  120. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentCompareRouteHandler.js +2 -4
  121. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentGetRouteHandler.js +1 -3
  122. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentHistoryGetRouteHandler.js +2 -4
  123. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentLockPutRouteHandler.js +1 -5
  124. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentPostRouteHandler.js +4 -4
  125. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentPresearchPostRouteHandler.js +3 -7
  126. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentPreviewRouteHandler.js +2 -6
  127. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentPutRouteHandler.js +1 -5
  128. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentRevisionGetRouteHandler.js +2 -6
  129. package/src/modules/editor/dev-cms/connectors-cms-standard/configureDocumentStatePostRouteHandler.js +1 -5
  130. package/src/modules/editor/dev-cms/connectors-cms-standard/configureHeartbeatGetRouteHandler.js +1 -5
  131. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReferenceCreatePostRouteHandler.js +2 -6
  132. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReferenceGetPostRouteHandler.js +2 -6
  133. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReferenceMetadataUpdatePatchRouteHandler.js +2 -4
  134. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReviewAnnotationGetPostRouteHandler.js +4 -9
  135. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReviewAnnotationPostRouteHandler.js +4 -8
  136. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReviewAnnotationPutRouteHandler.js +7 -11
  137. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReviewAnnotationReplyPostRouteHandler.js +3 -7
  138. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReviewAnnotationReplyPutRouteHandler.js +5 -9
  139. package/src/modules/editor/dev-cms/connectors-cms-standard/configureReviewStatePostRouteHandler.js +3 -8
  140. package/src/modules/editor/dev-cms/connectors-cms-standard/configureSimulatedDelayMiddleware.js +1 -3
  141. package/src/modules/editor/dev-cms/connectors-cms-standard/configureUploadMiddleware.js +4 -6
  142. package/src/modules/editor/dev-cms/connectors-cms-standard/correlationIdRepository.js +2 -2
  143. package/src/modules/editor/dev-cms/connectors-cms-standard/createMiddleware.js +25 -18
  144. package/src/modules/editor/dev-cms/connectors-cms-standard/getFileHash.js +3 -3
  145. package/src/modules/editor/dev-cms/connectors-cms-standard/referenceRepository.js +10 -3
  146. package/src/modules/editor/dev-cms/connectors-cms-standard/review-annotations/AnnotationDatabase.js +24 -64
  147. package/src/modules/editor/dev-cms/connectors-cms-standard/review-annotations/DebuggingConfiguration.js +1 -3
  148. package/src/modules/editor/dev-cms/connectors-cms-standard/review-annotations/EarlyReturnSymbol.js +1 -1
  149. package/src/modules/editor/dev-cms/connectors-cms-standard/review-annotations/Result.js +6 -14
  150. package/src/modules/editor/dev-cms/connectors-cms-standard/review-annotations/httpStatusCodeHelpers.js +13 -7
  151. package/src/modules/editor/dev-cms/connectors-cms-standard/review-annotations/mapAnnotationResult.js +2 -4
  152. package/src/modules/editor/dev-cms/connectors-cms-standard/stores/DevelopmentCms.js +6 -6
  153. package/src/modules/editor/dev-cms/connectors-cms-standard/stores/FileSystemStore.js +6 -6
  154. package/src/modules/editor/dev-cms/connectors-cms-standard/stores/HistoryStore.js +7 -6
  155. package/src/modules/editor/dev-cms/connectors-cms-standard/stores/MemoryStore.js +3 -3
  156. package/src/modules/editor/dev-cms/connectors-cms-standard/stores/mergeItems.js +2 -2
  157. package/src/modules/editor/dev-cms/connectors-cms-standard/stores/unmergeableRevisionList.js +1 -1
  158. package/src/modules/editor/dev-cms/connectors-dist/configureAuthMiddleware.js +5 -7
  159. package/src/modules/editor/dev-cms/connectors-dist/createMiddleware.js +4 -8
  160. package/src/modules/editor/dev-cms/connectors-health/configureConnectorsHealthRouter.js +3 -7
  161. package/src/modules/editor/dev-cms/connectors-health/configureHealthGetRouteHandler.js +1 -5
  162. package/src/modules/editor/dev-cms/connectors-health/createMiddleware.js +2 -6
  163. package/src/modules/editor/dev-cms/setupDevCms.js +17 -18
  164. package/src/modules/editor/index.js +20 -24
  165. package/src/modules/editor/package.json +2 -1
  166. package/src/modules/editor/src/astHelpers/{addWarningsForRemovedComments.js → addWarningsForRemovedComments.cjs} +0 -0
  167. package/src/modules/editor/src/astHelpers/{getClosestNodeWithOffset.js → getClosestNodeWithOffset.cjs} +0 -0
  168. package/src/modules/editor/src/astHelpers/{getDescendantNodes.js → getDescendantNodes.cjs} +0 -0
  169. package/src/modules/editor/src/astHelpers/{hasMultipleReturnStatements.js → hasMultipleReturnStatements.cjs} +0 -0
  170. package/src/modules/editor/src/astHelpers/{isAmdDefineCallExpression.js → isAmdDefineCallExpression.cjs} +0 -0
  171. package/src/modules/editor/src/astHelpers/{isAmdFactoryReturnStatement.js → isAmdFactoryReturnStatement.cjs} +0 -0
  172. package/src/modules/editor/src/astHelpers/{isInteropDefaultExpressionStatement.js → isInteropDefaultExpressionStatement.cjs} +0 -0
  173. package/src/modules/editor/src/astHelpers/{isInvalidTextLoaderImportDeclaration.js → isInvalidTextLoaderImportDeclaration.cjs} +0 -0
  174. package/src/modules/editor/src/astHelpers/{isRequireToUrlCallExpression.js → isRequireToUrlCallExpression.cjs} +0 -0
  175. package/src/modules/editor/src/astHelpers/{moveComments.js → moveComments.cjs} +0 -0
  176. package/src/modules/editor/src/babelPlugins/{cleanupRegisterXQueryModulePlugin.js → cleanupRegisterXQueryModulePlugin.cjs} +0 -0
  177. package/src/modules/editor/src/babelPlugins/{convertAmdToEsmPlugin.js → convertAmdToEsmPlugin.cjs} +0 -0
  178. package/src/modules/editor/src/babelPlugins/{recastPlugin.js → recastPlugin.cjs} +0 -0
  179. package/src/modules/editor/src/babelPlugins/{rewriteConfigImportsPlugin.js → rewriteConfigImportsPlugin.cjs} +0 -0
  180. package/src/modules/editor/src/babelPlugins/{rewriteImportFileExtensionPlugin.js → rewriteImportFileExtensionPlugin.cjs} +0 -0
  181. package/src/modules/editor/src/babelPlugins/{rewriteInteropDefaultPlugin.js → rewriteInteropDefaultPlugin.cjs} +0 -0
  182. package/src/modules/editor/src/babelPlugins/{rewriteJsonLoaderPlugin.js → rewriteJsonLoaderPlugin.cjs} +0 -0
  183. package/src/modules/editor/src/babelPlugins/{rewriteMainJsImportsPlugin.js → rewriteMainJsImportsPlugin.cjs} +0 -0
  184. package/src/modules/editor/src/babelPlugins/{rewriteSrcPathPlugin.js → rewriteSrcPathPlugin.cjs} +0 -0
  185. package/src/modules/editor/src/babelPlugins/{rewriteSvgLoaderPlugin.js → rewriteSvgLoaderPlugin.cjs} +0 -0
  186. package/src/modules/editor/src/babelPlugins/{validatePlugin.js → validatePlugin.cjs} +0 -0
  187. package/src/modules/editor/src/commands/api/convertEditorWithOutput.js +13 -14
  188. package/src/modules/editor/src/commands/command.build.controller.js +7 -10
  189. package/src/modules/editor/src/commands/command.build.js +10 -3
  190. package/src/modules/editor/src/commands/command.convert.editor.controller.js +7 -9
  191. package/src/modules/editor/src/commands/command.convert.editor.js +10 -3
  192. package/src/modules/editor/src/commands/command.convert.package.controller.js +17 -20
  193. package/src/modules/editor/src/commands/command.convert.package.js +10 -3
  194. package/src/modules/editor/src/commands/command.run.controller.js +44 -55
  195. package/src/modules/editor/src/commands/command.run.js +10 -3
  196. package/src/modules/editor/src/config.js +112 -112
  197. package/src/modules/editor/src/convert.js +3 -9
  198. package/src/modules/editor/src/getAppConfig.js +27 -8
  199. package/src/modules/editor/src/getAppManifest.js +7 -7
  200. package/src/modules/editor/src/getDependenciesInLoadOrder.js +6 -14
  201. package/src/modules/editor/src/getImportsForPackages.js +5 -5
  202. package/src/modules/editor/src/getPatternsForSpecialFileType.js +2 -2
  203. package/src/modules/editor/src/getWebpackConfig.js +25 -23
  204. package/src/modules/editor/src/getWebpackDevMiddlewareConfig.js +2 -2
  205. package/src/modules/editor/src/helpers/WarningsByFilename.js +1 -1
  206. package/src/modules/editor/src/helpers/mergeIndexPageAndManifest.js +4 -4
  207. package/src/modules/editor/src/helpers/normalisePath.js +3 -3
  208. package/src/modules/editor/src/helpers/outputWarningsByFilename.js +4 -4
  209. package/src/modules/editor/src/helpers/prettifyJsFile.js +3 -6
  210. package/src/modules/editor/src/helpers/renameJsxFile.js +4 -4
  211. package/src/modules/editor/src/helpers/transformJsFile.js +24 -10
  212. package/src/modules/editor/src/helpers/updateEditorPackageJson.js +4 -4
  213. package/src/modules/editor/src/helpers/validateJsFile.js +11 -7
  214. package/src/modules/editor/src/helpers/writeJsFileToDisk.js +3 -3
  215. package/src/modules/editor/src/templates/{app-entry.js → app-entry.cjs} +0 -0
  216. package/src/modules/editor/src/webpackLoaders/{generatedLoader.js → generatedLoader.cjs} +12 -3
  217. package/src/modules/editor/src/webpackLoaders/{platformSourceMapLoader.js → platformSourceMapLoader.cjs} +2 -2
  218. package/src/modules/editor/src/webpackLoaders/{symbolLoader.js → symbolLoader.cjs} +0 -0
  219. package/src/modules/editor/src/webpackLoaders/{vendorsSourceMapLoader.js → vendorsSourceMapLoader.cjs} +0 -0
  220. package/src/modules/editor/src/webpackPlugins/CopyPlugin.js +177 -162
  221. package/src/modules/editor/src/webpackPlugins/DependenciesInLoadOrderPlugin.js +2 -6
  222. package/src/modules/editor/src/webpackPlugins/FdtOutputPlugin.js +4 -6
  223. package/src/modules/editor/src/webpackPlugins/RemoveExplicitExtensionResolvePlugin.js +3 -6
  224. package/src/modules/editor/src/webpackPlugins/ResolveImportAliasPlugin.js +2 -4
  225. package/src/modules/editor/src/webpackPlugins/UnitTestPlugin.js +5 -7
  226. package/src/modules/editor/test/dependecyWatching.test.js +11 -12
  227. package/src/modules/editor/test/fixtures.test.js +21 -16
  228. package/src/modules/editor/test/helpers/appMutations/addFilesToPackage.js +4 -4
  229. package/src/modules/editor/test/helpers/appMutations/addFontoManifestToPackage.js +4 -4
  230. package/src/modules/editor/test/helpers/appMutations/addPackage.js +7 -11
  231. package/src/modules/editor/test/helpers/appMutations/generateSpecialFiles.js +2 -2
  232. package/src/modules/editor/test/helpers/appMutations/mutateConfigFontoManifest.js +4 -4
  233. package/src/modules/editor/test/helpers/appMutations/mutatePackageFontoManifest.js +4 -4
  234. package/src/modules/editor/test/helpers/appMutations/removeFilesFromPackage.js +4 -4
  235. package/src/modules/editor/test/helpers/appMutations/removePackage.js +5 -5
  236. package/src/modules/editor/test/helpers/assertFixtureSnapshot.js +8 -6
  237. package/src/modules/editor/test/helpers/createAppStructure.js +8 -4
  238. package/src/modules/editor/test/helpers/createTempDirectory.js +3 -3
  239. package/src/modules/editor/test/helpers/createWebpackWatch.js +21 -22
  240. package/src/modules/editor/test/helpers/normaliseLineEndings.js +2 -2
  241. package/src/modules/editor-pre-7-7-0/index.js +19 -23
  242. package/src/modules/editor-pre-7-7-0/package.json +2 -1
  243. package/src/modules/editor-pre-7-7-0/src/api/addCommentToAstNode.js +6 -9
  244. package/src/modules/editor-pre-7-7-0/src/api/addonsAddDependencies.js +1 -3
  245. package/src/modules/editor-pre-7-7-0/src/api/createMessageTemplate.js +4 -6
  246. package/src/modules/editor-pre-7-7-0/src/api/createPackageDirectoryPath.js +4 -6
  247. package/src/modules/editor-pre-7-7-0/src/api/createPrettifiedCode.js +12 -8
  248. package/src/modules/editor-pre-7-7-0/src/api/downloadEditorSDK.js +3 -5
  249. package/src/modules/editor-pre-7-7-0/src/api/executeAndLog.js +4 -6
  250. package/src/modules/editor-pre-7-7-0/src/api/extractZip.js +4 -6
  251. package/src/modules/editor-pre-7-7-0/src/api/getAddonLabel.js +2 -4
  252. package/src/modules/editor-pre-7-7-0/src/api/getAddonLabels.js +3 -5
  253. package/src/modules/editor-pre-7-7-0/src/api/getAddonLabelsForChanges.js +4 -6
  254. package/src/modules/editor-pre-7-7-0/src/api/getAddonsFromEditorSDK.js +2 -4
  255. package/src/modules/editor-pre-7-7-0/src/api/init/checkEditorDestination.js +2 -4
  256. package/src/modules/editor-pre-7-7-0/src/api/init/createConfigConfiguration.js +13 -11
  257. package/src/modules/editor-pre-7-7-0/src/api/init/createConfigFontoManifest.js +3 -5
  258. package/src/modules/editor-pre-7-7-0/src/api/init/createSchemaExperienceResolver.js +11 -8
  259. package/src/modules/editor-pre-7-7-0/src/api/inquirerPrompts.js +20 -30
  260. package/src/modules/editor-pre-7-7-0/src/api/npmInstall.js +5 -7
  261. package/src/modules/editor-pre-7-7-0/src/api/promptForVersionAndDownloadEditorSDK.js +8 -11
  262. package/src/modules/editor-pre-7-7-0/src/api/schema/buildSchemaExperienceConfigurationModel.js +2 -6
  263. package/src/modules/editor-pre-7-7-0/src/api/schema/checkIfCompiledSchemaOverwritesFiles.js +3 -5
  264. package/src/modules/editor-pre-7-7-0/src/api/schema/compile.js +3 -5
  265. package/src/modules/editor-pre-7-7-0/src/api/schema/createCommentsForElement.js +6 -10
  266. package/src/modules/editor-pre-7-7-0/src/api/schema/createSchemaExperiencePackages.js +13 -15
  267. package/src/modules/editor-pre-7-7-0/src/api/schema/createSchemaPackages.js +7 -11
  268. package/src/modules/editor-pre-7-7-0/src/api/schema/getPrefixByNamespaceUri.js +4 -6
  269. package/src/modules/editor-pre-7-7-0/src/api/schema/getSchemaFontoJson.js +5 -7
  270. package/src/modules/editor-pre-7-7-0/src/api/schema/getVersionedSchemaCompilerBaseUrl.js +4 -5
  271. package/src/modules/editor-pre-7-7-0/src/api/schema/zipHelpers.js +6 -8
  272. package/src/modules/editor-pre-7-7-0/src/api/updateManifest.js +2 -4
  273. package/src/modules/editor-pre-7-7-0/src/api/upgrade/getMajorVersion.js +1 -5
  274. package/src/modules/editor-pre-7-7-0/src/api/upgrade/preprocessData.js +3 -5
  275. package/src/modules/editor-pre-7-7-0/src/api/upgrade/updateConfigFontoManifest.js +2 -4
  276. package/src/modules/editor-pre-7-7-0/src/api/validateAddons.js +1 -3
  277. package/src/modules/editor-pre-7-7-0/src/api/validateManifest.js +1 -3
  278. package/src/modules/editor-pre-7-7-0/src/api/writeAstProgramToFile.js +7 -6
  279. package/src/modules/editor-pre-7-7-0/src/command.addons.controller.js +18 -25
  280. package/src/modules/editor-pre-7-7-0/src/command.addons.js +10 -3
  281. package/src/modules/editor-pre-7-7-0/src/command.build.controller.js +6 -8
  282. package/src/modules/editor-pre-7-7-0/src/command.build.js +10 -3
  283. package/src/modules/editor-pre-7-7-0/src/command.init.controller.js +33 -36
  284. package/src/modules/editor-pre-7-7-0/src/command.init.js +10 -3
  285. package/src/modules/editor-pre-7-7-0/src/command.run.controller.js +6 -8
  286. package/src/modules/editor-pre-7-7-0/src/command.run.js +10 -3
  287. package/src/modules/editor-pre-7-7-0/src/command.schema.compile.controller.js +10 -12
  288. package/src/modules/editor-pre-7-7-0/src/command.schema.compile.js +10 -3
  289. package/src/modules/editor-pre-7-7-0/src/command.upgrade.controller.js +24 -31
  290. package/src/modules/editor-pre-7-7-0/src/command.upgrade.js +10 -3
  291. package/src/modules/editor-pre-7-7-0/src/command.versions.controller.js +2 -4
  292. package/src/modules/editor-pre-7-7-0/src/command.versions.js +10 -3
  293. package/src/modules/editor-pre-7-7-0/test/api/schema/buildSchemaExperienceConfigurationModel.test.js +19 -18
  294. package/src/modules/editor-pre-7-7-0/test/api/schema/createCommentsForElement.test.js +7 -10
  295. package/src/modules/editor-pre-7-7-0/test/api/schema/getPrefixByNamespaceUri.test.js +3 -6
  296. package/src/modules/editor-pre-7-7-0/test/api/schema/testHelpers.js +5 -14
  297. package/src/modules/editor-pre-7-7-0/test/api/schema/zipSchemaSource.test.js +9 -7
  298. package/src/modules/localization/index.js +13 -13
  299. package/src/modules/localization/package.json +2 -1
  300. package/src/modules/localization/src/api/Message.js +3 -3
  301. package/src/modules/localization/src/api/createMessagesTable.js +3 -5
  302. package/src/modules/localization/src/api/deduplicateMessages.js +2 -2
  303. package/src/modules/localization/src/api/extractMessages.js +5 -5
  304. package/src/modules/localization/src/api/getMessagesFromOperation.js +3 -3
  305. package/src/modules/localization/src/api/getMessagesFromSource.js +9 -4
  306. package/src/modules/localization/src/api/getOperationMessages.js +9 -9
  307. package/src/modules/localization/src/api/getSourceMessages.js +9 -8
  308. package/src/modules/localization/src/api/index.js +10 -5
  309. package/src/modules/localization/src/api/loadMessageBundle.js +6 -5
  310. package/src/modules/localization/src/api/{parser.js → parser.cjs} +0 -0
  311. package/src/modules/localization/src/api/promiseUtils.js +1 -1
  312. package/src/modules/localization/src/api/updateMessagesWithTemplate.js +2 -2
  313. package/src/modules/localization/src/command.extract.controller.js +7 -9
  314. package/src/modules/localization/src/command.extract.js +10 -3
  315. package/src/modules/localization/src/command.merge.controller.js +7 -9
  316. package/src/modules/localization/src/command.merge.js +10 -3
  317. package/src/modules/localization/src/command.messages.controller.js +5 -7
  318. package/src/modules/localization/src/command.messages.js +11 -4
  319. package/src/modules/localization/src/command.update.controller.js +8 -10
  320. package/src/modules/localization/src/command.update.js +10 -3
  321. package/src/modules/localization/test/api/Message.test.js +3 -3
  322. package/src/modules/localization/test/api/deduplicateMessages.test.js +4 -5
  323. package/src/modules/localization/test/api/getMessagesFromOperation.test.js +3 -4
  324. package/src/modules/localization/test/api/getMessagesFromSource.test.js +3 -4
  325. package/src/modules/localization/test/api/parser.test.js +3 -2
  326. package/src/modules/localization/test/api/promiseUtils.test.js +2 -2
  327. package/src/modules/localization/test/api/roundtripThroughJson.js +2 -2
  328. package/src/modules/localization/test/api/updateMessagesWithTemplate.test.js +4 -5
  329. package/src/modules/localization/test/command.extract.test.js +11 -10
  330. package/src/modules/localization/test/command.merge.test.js +11 -10
  331. package/src/modules/localization/test/command.messages.test.js +10 -9
  332. package/src/modules/localization/test/command.update.test.js +11 -10
  333. package/src/modules/localization/test/index.test.js +15 -14
  334. package/src/modules/localization/test/promiseUtils.test.js +2 -4
  335. package/src/modules/operations/index.js +5 -6
  336. package/src/modules/operations/package.json +2 -1
  337. package/src/modules/operations/src/api/createOperationsTable.js +3 -5
  338. package/src/modules/operations/src/api/getOperation.js +3 -5
  339. package/src/modules/operations/src/api/getOperations.js +12 -14
  340. package/src/modules/operations/src/command.operation.controller.js +3 -5
  341. package/src/modules/operations/src/command.operation.js +10 -3
  342. package/src/modules/operations/src/command.operations.controller.js +4 -6
  343. package/src/modules/operations/src/command.operations.js +11 -4
  344. package/src/modules/operations/test/command.operation.test.js +10 -9
  345. package/src/modules/operations/test/command.operations.test.js +11 -9
  346. package/src/modules/operations/test/getOperation.test.js +6 -4
  347. package/src/modules/operations/test/getOperations.test.js +6 -4
  348. package/src/modules/operations/test/index.test.js +11 -11
  349. package/src/modules/review/index.js +13 -10
  350. package/src/modules/review/package.json +2 -1
  351. package/src/modules/review/src/command.build.controller.js +13 -15
  352. package/src/modules/review/src/command.build.js +11 -4
  353. package/src/modules/review/src/command.download-self-contained.controller.js +6 -8
  354. package/src/modules/review/src/command.download-self-contained.js +10 -3
  355. package/src/modules/review/src/command.init.controller.js +7 -9
  356. package/src/modules/review/src/command.init.js +10 -3
  357. package/src/modules/review/src/command.run.controller.js +14 -16
  358. package/src/modules/review/src/command.run.js +8 -4
  359. package/src/modules/review/src/command.upgrade.controller.js +8 -10
  360. package/src/modules/review/src/command.upgrade.js +10 -3
  361. package/src/modules/review/src/command.versions.controller.js +2 -4
  362. package/src/modules/review/src/command.versions.js +10 -3
  363. package/src/modules/review/src/utilities/FontoxmlReviewManifest.js +2 -6
  364. package/src/modules/review/src/utilities/cleanup.js +6 -8
  365. package/src/modules/review/src/utilities/constants.js +5 -3
  366. package/src/modules/review/src/utilities/copyWhitelistedFiles.js +4 -6
  367. package/src/modules/review/src/utilities/executeAndLog.js +4 -5
  368. package/src/modules/review/src/utilities/getVerbosityLevel.js +3 -5
  369. package/src/modules/review/src/utilities/getWhitelist.js +5 -7
  370. package/src/modules/review/src/utilities/setEntryVisibility.js +3 -14
  371. package/src/modules/review/src/utilities/validateInstance.js +6 -8
  372. package/src/modules/schema/index.js +16 -24
  373. package/src/modules/schema/package.json +2 -1
  374. package/src/modules/schema/src/api/AttributeSummary.js +2 -4
  375. package/src/modules/schema/src/api/ElementSummary.js +2 -4
  376. package/src/modules/schema/src/api/SchemaSummary.js +11 -10
  377. package/src/modules/schema/src/api/SimpleTypeSummary.js +3 -5
  378. package/src/modules/schema/src/api/createAttributesTable.js +3 -5
  379. package/src/modules/schema/src/api/createElementsTable.js +3 -5
  380. package/src/modules/schema/src/api/createSchemasTable.js +4 -6
  381. package/src/modules/schema/src/api/createSimpleTypesTable.js +3 -5
  382. package/src/modules/schema/src/api/getClosestMatchingSchemaSummary.js +7 -9
  383. package/src/modules/schema/src/api/getSchemaSummaries.js +5 -7
  384. package/src/modules/schema/src/command.attribute.controller.js +3 -5
  385. package/src/modules/schema/src/command.attribute.js +10 -3
  386. package/src/modules/schema/src/command.attributes.controller.js +4 -6
  387. package/src/modules/schema/src/command.attributes.js +11 -4
  388. package/src/modules/schema/src/command.element.controller.js +4 -6
  389. package/src/modules/schema/src/command.element.js +10 -3
  390. package/src/modules/schema/src/command.elements.controller.js +4 -6
  391. package/src/modules/schema/src/command.elements.js +11 -4
  392. package/src/modules/schema/src/command.schemas.controller.js +4 -6
  393. package/src/modules/schema/src/command.schemas.js +11 -4
  394. package/src/modules/schema/src/command.simpletypes.controller.js +4 -6
  395. package/src/modules/schema/src/command.simpletypes.js +11 -4
  396. package/src/modules/schema/src/helpers/renderSimpleType.js +3 -5
  397. package/src/modules/schema/src/helpers/restrictionFormatter.js +2 -4
  398. package/src/modules/schema/test/AttributeSummary.test.js +3 -5
  399. package/src/modules/schema/test/ElementSummary.test.js +3 -5
  400. package/src/modules/schema/test/SchemaSummary.test.js +9 -7
  401. package/src/modules/schema/test/SimpleTypeSummary.test.js +3 -5
  402. package/src/modules/schema/test/command.attribute.test.js +14 -12
  403. package/src/modules/schema/test/command.attributes.test.js +14 -12
  404. package/src/modules/schema/test/command.element.test.js +14 -12
  405. package/src/modules/schema/test/command.elements.test.js +14 -12
  406. package/src/modules/schema/test/command.schemas.test.js +10 -9
  407. package/src/modules/schema/test/command.simpletypes.test.js +10 -9
  408. package/src/modules/schema/test/getClosestMatchingSchemaSummary.test.js +6 -4
  409. package/src/modules/schema/test/getSchemaSummaries.test.js +6 -4
  410. package/src/modules/schema/test/index.test.js +37 -37
  411. package/src/modules/schema/test/renderSimpleType.test.js +12 -13
  412. package/src/modules/schema/test/restrictionFormatter.test.js +3 -5
  413. package/src/modules/schema-compiler/index.js +13 -10
  414. package/src/modules/schema-compiler/package.json +2 -1
  415. package/src/modules/schema-compiler/src/command.build.controller.js +12 -15
  416. package/src/modules/schema-compiler/src/command.build.js +11 -4
  417. package/src/modules/schema-compiler/src/command.download-self-contained.controller.js +6 -8
  418. package/src/modules/schema-compiler/src/command.download-self-contained.js +10 -3
  419. package/src/modules/schema-compiler/src/command.init.controller.js +7 -9
  420. package/src/modules/schema-compiler/src/command.init.js +10 -3
  421. package/src/modules/schema-compiler/src/command.run.controller.js +14 -16
  422. package/src/modules/schema-compiler/src/command.run.js +6 -4
  423. package/src/modules/schema-compiler/src/command.upgrade.controller.js +8 -10
  424. package/src/modules/schema-compiler/src/command.upgrade.js +10 -3
  425. package/src/modules/schema-compiler/src/command.versions.controller.js +2 -4
  426. package/src/modules/schema-compiler/src/command.versions.js +10 -3
  427. package/src/modules/schema-compiler/src/utilities/FontoxmlSchemaCompilerManifest.js +2 -6
  428. package/src/modules/schema-compiler/src/utilities/cleanup.js +6 -8
  429. package/src/modules/schema-compiler/src/utilities/constants.js +5 -3
  430. package/src/modules/schema-compiler/src/utilities/copyWhitelistedFiles.js +4 -6
  431. package/src/modules/schema-compiler/src/utilities/executeAndLog.js +4 -5
  432. package/src/modules/schema-compiler/src/utilities/getVerbosityLevel.js +3 -5
  433. package/src/modules/schema-compiler/src/utilities/getWhitelist.js +5 -7
  434. package/src/modules/schema-compiler/src/utilities/setEntryVisibility.js +3 -14
  435. package/src/modules/schema-compiler/src/utilities/validateInstance.js +6 -8
  436. package/src/modules/spell-checker/index.js +13 -10
  437. package/src/modules/spell-checker/package.json +2 -1
  438. package/src/modules/spell-checker/src/command.build.controller.js +13 -15
  439. package/src/modules/spell-checker/src/command.build.js +11 -4
  440. package/src/modules/spell-checker/src/command.download-self-contained.controller.js +6 -8
  441. package/src/modules/spell-checker/src/command.download-self-contained.js +10 -3
  442. package/src/modules/spell-checker/src/command.init.controller.js +7 -9
  443. package/src/modules/spell-checker/src/command.init.js +10 -3
  444. package/src/modules/spell-checker/src/command.run.controller.js +13 -15
  445. package/src/modules/spell-checker/src/command.run.js +8 -4
  446. package/src/modules/spell-checker/src/command.upgrade.controller.js +8 -10
  447. package/src/modules/spell-checker/src/command.upgrade.js +10 -3
  448. package/src/modules/spell-checker/src/command.versions.controller.js +2 -4
  449. package/src/modules/spell-checker/src/command.versions.js +10 -3
  450. package/src/modules/spell-checker/src/utilities/FontoxmlSpellCheckerManifest.js +2 -6
  451. package/src/modules/spell-checker/src/utilities/cleanup.js +6 -8
  452. package/src/modules/spell-checker/src/utilities/constants.js +5 -3
  453. package/src/modules/spell-checker/src/utilities/copyWhitelistedFiles.js +4 -6
  454. package/src/modules/spell-checker/src/utilities/executeAndLog.js +4 -5
  455. package/src/modules/spell-checker/src/utilities/getVerbosityLevel.js +3 -5
  456. package/src/modules/spell-checker/src/utilities/getWhitelist.js +5 -7
  457. package/src/modules/spell-checker/src/utilities/setEntryVisibility.js +3 -14
  458. package/src/modules/spell-checker/src/utilities/validateInstance.js +6 -8
  459. package/src/response/FdtResponse.js +8 -13
  460. package/src/response/extras.js +3 -5
  461. package/src/response/primitives.js +4 -4
  462. package/test/App.test.js +113 -93
  463. package/test/AssertableWritableStream.test.js +3 -8
  464. package/test/FdtCommand.test.js +9 -7
  465. package/test/FdtTable.test.js +12 -11
  466. package/test/app/invalid-module-1/index.js +1 -1
  467. package/test/app/invalid-module-1/package.json +1 -0
  468. package/test/app/test-module-1/index.js +1 -1
  469. package/test/app/test-module-1/package.json +1 -0
  470. package/test/app/test-module-2/index.js +12 -7
  471. package/test/app/test-module-2/package.json +1 -0
  472. package/test/app/test-module-2/src/testLazyLoadCommand.js +2 -4
  473. package/test/app/test-module-2-duplicate/index.js +1 -3
  474. package/test/app/test-module-2-duplicate/package.json +1 -0
  475. package/test/app-pre-7-7-0/config.js +1 -1
  476. package/test/app-with-configjs/config.js +1 -1
  477. package/test/module.core.test.js +39 -29
package/test/App.test.js CHANGED
@@ -1,23 +1,22 @@
1
- 'use strict';
2
-
3
- const assert = require('assert');
4
- const fs = require('fs');
5
- const http = require('http');
6
- const multer = require('multer');
7
- const os = require('os');
8
- const path = require('path');
9
- const tmp = require('tmp');
10
-
11
- const fontoxmlDevelopmentTools = require('../');
12
- const addModulesToApp = require('../src/addModulesToApp');
13
-
14
- const EditorRepository = require('../src/EditorRepository');
15
- const FdtLicense = require('../src/FdtLicense');
16
-
17
- const App = fontoxmlDevelopmentTools.App;
1
+ import assert from 'assert';
2
+ import fs from 'fs';
3
+ import http from 'http';
4
+ import multer from 'multer';
5
+ import os from 'os';
6
+ import path from 'path';
7
+ import tmp from 'tmp';
8
+ import { fileURLToPath } from 'url';
9
+
10
+ import { App, FdtCommand } from '../index.js';
11
+ import addModulesToApp from '../src/addModulesToApp.js';
12
+ import EditorRepository from '../src/EditorRepository.js';
13
+ import FdtLicense from '../src/FdtLicense.js';
18
14
 
19
15
  const defaultStdoutColumns = process.stdout.columns;
20
16
 
17
+ const __filename = fileURLToPath(import.meta.url);
18
+ const __dirname = path.dirname(__filename);
19
+
21
20
  describe('App', () => {
22
21
  let app;
23
22
  let oldCwd;
@@ -90,7 +89,7 @@ describe('App', () => {
90
89
  });
91
90
  }
92
91
 
93
- function createAppWithLicensesForAllRealProducts() {
92
+ async function createAppWithLicensesForAllRealProducts() {
94
93
  createLicenseFileWithData({
95
94
  key: 'TEST KEY',
96
95
  licensee: 'Unit test suite',
@@ -104,20 +103,23 @@ describe('App', () => {
104
103
  });
105
104
 
106
105
  // Recreate the app.
107
- app = new App({
106
+ app = new App();
107
+ await app.init({
108
108
  appName: 'fontoxml-development-tools-test',
109
109
  silent: true,
110
110
  testMode: true,
111
111
  });
112
112
  }
113
113
 
114
- beforeEach(() => {
114
+ beforeEach(async () => {
115
115
  process.stdout.columns = 200;
116
116
 
117
117
  oldCwd = process.cwd();
118
118
  process.chdir(path.join(__dirname, 'app'));
119
119
 
120
- app = new App({
120
+ app = new App();
121
+
122
+ await app.init({
121
123
  appName: 'fontoxml-development-tools-test',
122
124
  silent: true,
123
125
  testMode: true,
@@ -145,8 +147,8 @@ describe('App', () => {
145
147
  assert.strictEqual(app.name, 'fontoxml-development-tools-test');
146
148
  });
147
149
 
148
- it('can be configured with a custom Command class', () => {
149
- class CustomCommandClass extends fontoxmlDevelopmentTools.FdtCommand {
150
+ it('can be configured with a custom Command class', async () => {
151
+ class CustomCommandClass extends FdtCommand {
150
152
  constructor(commandName, controller) {
151
153
  super(commandName, controller);
152
154
 
@@ -154,7 +156,8 @@ describe('App', () => {
154
156
  }
155
157
  }
156
158
 
157
- const appWithCustomCommandClass = new App({
159
+ const appWithCustomCommandClass = new App();
160
+ await appWithCustomCommandClass.init({
158
161
  appName: 'fontoxml-development-tools-test',
159
162
  commandClass: CustomCommandClass,
160
163
  silent: true,
@@ -173,8 +176,9 @@ describe('App', () => {
173
176
  it('throws when configured with a custom Command class which does not inerit from FdtCommand', () => {
174
177
  class CustomCommandClass {}
175
178
 
176
- assert.throws(() => {
177
- new App({
179
+ assert.rejects(async () => {
180
+ const app = new App();
181
+ await app.init({
178
182
  appName: 'fontoxml-development-tools-test',
179
183
  commandClass: CustomCommandClass,
180
184
  silent: true,
@@ -260,9 +264,10 @@ describe('App', () => {
260
264
  });
261
265
  });
262
266
 
263
- it('is able to skip a malformed config file', () => {
267
+ it('is able to skip a malformed config file', async () => {
268
+ const app = new App();
264
269
  assert.ok(
265
- new App({
270
+ await app.init({
266
271
  appName: 'fontoxml-development-tools-test',
267
272
  configFilename: 'index.js',
268
273
  silent: true,
@@ -272,14 +277,15 @@ describe('App', () => {
272
277
  });
273
278
  });
274
279
 
275
- it('throws when a loaded module is not a function', () => {
276
- const appForInvalidModule = new App({
280
+ it('throws when a loaded module is not a function', async () => {
281
+ const appForInvalidModule = new App();
282
+ await appForInvalidModule.init({
277
283
  appName: 'fontoxml-development-tools-test',
278
284
  silent: true,
279
285
  testMode: true,
280
286
  });
281
- assert.throws(() => {
282
- appForInvalidModule.enableBuiltInModule(
287
+ assert.rejects(async () => {
288
+ await appForInvalidModule.enableBuiltInModule(
283
289
  path.join(process.cwd(), 'invalid-module-1')
284
290
  );
285
291
  });
@@ -296,8 +302,9 @@ describe('App', () => {
296
302
  });
297
303
 
298
304
  describe('is able to handle any thrown errors', () => {
299
- beforeEach(() => {
300
- app = new App({
305
+ beforeEach(async () => {
306
+ app = new App();
307
+ await app.init({
301
308
  appName: 'fontoxml-development-tools-test',
302
309
  hideStacktraceOnErrors: false,
303
310
  skipAddModules: true,
@@ -679,11 +686,13 @@ describe('App', () => {
679
686
  );
680
687
  });
681
688
 
682
- it('has added config object and configSource to request.fdt.editorRepository for app with config.js', () => {
689
+ it('has added config object and configSource to request.fdt.editorRepository for app with config.js', async () => {
683
690
  process.chdir(oldCwd);
684
691
  process.chdir(path.join(__dirname, 'app-with-configjs'));
685
692
 
686
- app = new App({
693
+ app = new App();
694
+
695
+ await app.init({
687
696
  appName: 'fontoxml-development-tools-test-with-configjs',
688
697
  silent: true,
689
698
  testMode: true,
@@ -709,13 +718,14 @@ describe('App', () => {
709
718
  );
710
719
  });
711
720
 
712
- it('has added isPre770 to request.fdt.editorRepository for pre 7.7.0 editors', () => {
721
+ it('has added isPre770 to request.fdt.editorRepository for pre 7.7.0 editors', async () => {
713
722
  process.chdir(oldCwd);
714
723
  process.chdir(path.join(__dirname, 'app-pre-7-7-0'));
715
724
 
716
- createAppWithLicensesForAllRealProducts();
725
+ await createAppWithLicensesForAllRealProducts();
717
726
 
718
- app = new App({
727
+ app = new App();
728
+ await app.init({
719
729
  appName: 'fontoxml-development-tools-test-pre-7-7-0',
720
730
  silent: true,
721
731
  testMode: true,
@@ -1506,8 +1516,8 @@ describe('App', () => {
1506
1516
  configDevelopmentToolsModulesBackup;
1507
1517
  });
1508
1518
 
1509
- it('has built-in core module enabled', () => {
1510
- createAppWithLicensesForAllRealProducts();
1519
+ it('has built-in core module enabled', async () => {
1520
+ await createAppWithLicensesForAllRealProducts();
1511
1521
 
1512
1522
  assert.ok(
1513
1523
  app.modules.some(
@@ -1518,8 +1528,8 @@ describe('App', () => {
1518
1528
  );
1519
1529
  });
1520
1530
 
1521
- it('has built-in connectors module enabled', () => {
1522
- createAppWithLicensesForAllRealProducts();
1531
+ it('has built-in connectors module enabled', async () => {
1532
+ await createAppWithLicensesForAllRealProducts();
1523
1533
 
1524
1534
  assert.ok(
1525
1535
  app.modules.some(
@@ -1530,8 +1540,8 @@ describe('App', () => {
1530
1540
  );
1531
1541
  });
1532
1542
 
1533
- it('has built-in fcq module enabled', () => {
1534
- createAppWithLicensesForAllRealProducts();
1543
+ it('has built-in fcq module enabled', async () => {
1544
+ await createAppWithLicensesForAllRealProducts();
1535
1545
 
1536
1546
  assert.ok(
1537
1547
  app.modules.some(
@@ -1542,8 +1552,8 @@ describe('App', () => {
1542
1552
  );
1543
1553
  });
1544
1554
 
1545
- it('has built-in editor module enabled', () => {
1546
- createAppWithLicensesForAllRealProducts();
1555
+ it('has built-in editor module enabled', async () => {
1556
+ await createAppWithLicensesForAllRealProducts();
1547
1557
 
1548
1558
  assert.ok(
1549
1559
  app.modules.some(
@@ -1554,13 +1564,14 @@ describe('App', () => {
1554
1564
  );
1555
1565
  });
1556
1566
 
1557
- it('has built-in editor module enabled for pre 7.7.0 editors', () => {
1567
+ it('has built-in editor module enabled for pre 7.7.0 editors', async () => {
1558
1568
  process.chdir(oldCwd);
1559
1569
  process.chdir(path.join(__dirname, 'app-pre-7-7-0'));
1560
1570
 
1561
- createAppWithLicensesForAllRealProducts();
1571
+ await createAppWithLicensesForAllRealProducts();
1562
1572
 
1563
- app = new App({
1573
+ app = new App();
1574
+ await app.init({
1564
1575
  appName: 'fontoxml-development-tools-test-pre-7-7-0',
1565
1576
  silent: true,
1566
1577
  testMode: true,
@@ -1611,8 +1622,9 @@ describe('App', () => {
1611
1622
  );
1612
1623
  });
1613
1624
 
1614
- it('can enable modules on a per editor basis using absolute paths', () => {
1615
- const appWithoutModules = new App({
1625
+ it('can enable modules on a per editor basis using absolute paths', async () => {
1626
+ const appWithoutModules = new App();
1627
+ await appWithoutModules.init({
1616
1628
  appName: 'fontoxml-development-tools-test',
1617
1629
  silent: true,
1618
1630
  skipAddModules: true,
@@ -1642,7 +1654,7 @@ describe('App', () => {
1642
1654
  );
1643
1655
 
1644
1656
  // Add modules to app, which will load the app specific module using the absolute path
1645
- addModulesToApp(appWithoutModules, appWithoutModules.request);
1657
+ await addModulesToApp(appWithoutModules, appWithoutModules.request);
1646
1658
 
1647
1659
  // Check if the module is actually loaded
1648
1660
  assert.ok(
@@ -1652,8 +1664,9 @@ describe('App', () => {
1652
1664
  );
1653
1665
  });
1654
1666
 
1655
- it('does not load the same module twice and it outputs a notice about it', () => {
1656
- app = new App({
1667
+ it('does not load the same module twice and it outputs a notice about it', async () => {
1668
+ app = new App();
1669
+ await app.init({
1657
1670
  appName: 'fontoxml-development-tools-test',
1658
1671
  hideStacktraceOnErrors: false,
1659
1672
  skipAddModules: true,
@@ -1667,8 +1680,9 @@ describe('App', () => {
1667
1680
  'modules',
1668
1681
  'core'
1669
1682
  );
1670
- const duplicateModule =
1671
- app.enableBuiltInModule(duplicateModulePath);
1683
+ const duplicateModule = await app.enableBuiltInModule(
1684
+ duplicateModulePath
1685
+ );
1672
1686
  assert.strictEqual(duplicateModule, null);
1673
1687
 
1674
1688
  const startPosition = app.testOutput.findOutputIndex(
@@ -1690,7 +1704,7 @@ describe('App', () => {
1690
1704
  });
1691
1705
  });
1692
1706
 
1693
- it('can be created without tool specific logic', () => {
1707
+ it('can be created without tool specific logic', async () => {
1694
1708
  process.chdir(oldCwd);
1695
1709
  const homedirConfigFilePath = path.join(
1696
1710
  os.homedir(),
@@ -1704,7 +1718,8 @@ describe('App', () => {
1704
1718
  // Ignore
1705
1719
  }
1706
1720
 
1707
- const appStripped = new App({
1721
+ const appStripped = new App();
1722
+ await appStripped.init({
1708
1723
  appName: 'fontoxml-development-tools-test',
1709
1724
  configFilename: '.fdttestnocreatehomedirrc',
1710
1725
  skipAddModules: true,
@@ -1765,46 +1780,51 @@ describe('App', () => {
1765
1780
  const newCwd = process.cwd();
1766
1781
  process.chdir(oldCwd);
1767
1782
 
1768
- const appOutsideEditorRepository = new App({
1769
- appName: 'fontoxml-development-tools-test',
1770
- silent: true,
1771
- testMode: true,
1772
- });
1773
-
1783
+ const appOutsideEditorRepository = new App();
1774
1784
  appOutsideEditorRepository
1775
- .run([
1776
- 'module',
1777
- '--dry',
1778
- '-a',
1779
- path.join(__dirname, 'app', 'test-module-1'),
1780
- ])
1785
+ .init({
1786
+ appName: 'fontoxml-development-tools-test',
1787
+ silent: true,
1788
+ testMode: true,
1789
+ })
1781
1790
  .then(() => {
1782
- return appOutsideEditorRepository
1783
- .run(['test-command-1'])
1791
+ appOutsideEditorRepository
1792
+ .run([
1793
+ 'module',
1794
+ '--dry',
1795
+ '-a',
1796
+ path.join(__dirname, 'app', 'test-module-1'),
1797
+ ])
1784
1798
  .then(() => {
1785
- process.chdir(newCwd);
1786
- done(new Error('Should have thrown'));
1799
+ appOutsideEditorRepository
1800
+ .run(['test-command-1'])
1801
+ .then(() => {
1802
+ process.chdir(newCwd);
1803
+ done(new Error('Should have thrown'));
1804
+ })
1805
+ .catch((error) => {
1806
+ process.chdir(newCwd);
1807
+ assert.ok(
1808
+ error.hasOwnProperty('solution')
1809
+ );
1810
+ assert.strictEqual(
1811
+ error.message,
1812
+ 'Not running from inside a Fonto Editor repository.'
1813
+ );
1814
+ assert.strictEqual(
1815
+ error.solution,
1816
+ 'This command requires to be run from inside a Fonto Editor repository.'
1817
+ );
1818
+ done();
1819
+ })
1820
+ .catch((assertError) => {
1821
+ done(assertError);
1822
+ });
1787
1823
  })
1788
- .catch((error) => {
1824
+ .catch((_error) => {
1789
1825
  process.chdir(newCwd);
1790
- assert.ok(error.hasOwnProperty('solution'));
1791
- assert.strictEqual(
1792
- error.message,
1793
- 'Not running from inside a Fonto Editor repository.'
1794
- );
1795
- assert.strictEqual(
1796
- error.solution,
1797
- 'This command requires to be run from inside a Fonto Editor repository.'
1798
- );
1799
- done();
1800
- })
1801
- .catch((assertError) => {
1802
- done(assertError);
1826
+ done(new Error('Error while setting up test'));
1803
1827
  });
1804
- })
1805
- .catch((_error) => {
1806
- process.chdir(newCwd);
1807
- done(new Error('Error while setting up test'));
1808
1828
  });
1809
1829
  });
1810
1830
  });
@@ -1,12 +1,7 @@
1
- 'use strict';
1
+ import assert from 'assert';
2
+ import stream from 'stream';
2
3
 
3
- const assert = require('assert');
4
- const stream = require('stream');
5
-
6
- const fontoxmlDevelopmentTools = require('../');
7
-
8
- const AssertableWritableStream =
9
- fontoxmlDevelopmentTools.AssertableWritableStream;
4
+ import { AssertableWritableStream } from '../index.js';
10
5
 
11
6
  let testOutput;
12
7
 
@@ -1,10 +1,10 @@
1
- 'use strict';
1
+ import path from 'path';
2
+ import { fileURLToPath } from 'url';
2
3
 
3
- const path = require('path');
4
+ import { App } from '../index.js';
4
5
 
5
- const fontoxmlDevelopmentTools = require('../');
6
-
7
- const App = fontoxmlDevelopmentTools.App;
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
8
8
 
9
9
  const defaultStdoutColumns = process.stdout.columns;
10
10
 
@@ -12,13 +12,15 @@ describe('FdtCommand', () => {
12
12
  let app;
13
13
  let oldCwd;
14
14
 
15
- beforeEach(() => {
15
+ beforeEach(async () => {
16
16
  process.stdout.columns = 150;
17
17
 
18
18
  oldCwd = process.cwd();
19
19
  process.chdir(path.join(__dirname, 'app'));
20
20
 
21
- app = new App({
21
+ app = new App();
22
+
23
+ await app.init({
22
24
  appName: 'fontoxml-development-tools-test',
23
25
  skipWarnIfNotInsideEditorRepository: true,
24
26
  testMode: true,
@@ -1,14 +1,13 @@
1
- 'use strict';
1
+ import assert from 'assert';
2
+ import fs from 'fs';
3
+ import os from 'os';
4
+ import path from 'path';
5
+ import { fileURLToPath } from 'url';
2
6
 
3
- const assert = require('assert');
4
- const fs = require('fs');
5
- const os = require('os');
6
- const path = require('path');
7
+ import { App, FdtTable } from '../index.js';
7
8
 
8
- const fontoxmlDevelopmentTools = require('../');
9
-
10
- const App = fontoxmlDevelopmentTools.App;
11
- const FdtTable = fontoxmlDevelopmentTools.FdtTable;
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = path.dirname(__filename);
12
11
 
13
12
  const defaultStdoutColumns = process.stdout.columns;
14
13
 
@@ -20,7 +19,7 @@ let stubbedItems;
20
19
  let stubbedAdditionalItems;
21
20
 
22
21
  describe('FdtTable', () => {
23
- beforeEach(() => {
22
+ beforeEach(async () => {
24
23
  // cli-table, the package which outputs the table, uses this value, so make sure we have enough output width to
25
24
  // output the table in unit tests.
26
25
  process.stdout.columns = 150;
@@ -28,7 +27,9 @@ describe('FdtTable', () => {
28
27
  oldCwd = process.cwd();
29
28
  process.chdir(path.join(__dirname, 'app'));
30
29
 
31
- app = new App({
30
+ app = new App();
31
+
32
+ await app.init({
32
33
  appName: 'fontoxml-development-tools-test',
33
34
  skipAddModules: true,
34
35
  skipWarnIfNotInsideEditorRepository: true,
@@ -1 +1 @@
1
- module.exports = null;
1
+ export default null;
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "name": "invalid-module-1",
3
+ "type": "module",
3
4
  "version": "9.9.9"
4
5
  }
@@ -1,4 +1,4 @@
1
- module.exports = (moduleRegistration) => {
1
+ export default (moduleRegistration) => {
2
2
  moduleRegistration
3
3
  .registerCommand('test-command-1')
4
4
  .setLongDescription('Test command is used for test cases.')
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "name": "test-module-1",
3
+ "type": "module",
3
4
  "version": "9.9.9"
4
5
  }
@@ -1,8 +1,10 @@
1
- 'use strict';
1
+ import path from 'path';
2
+ import { fileURLToPath } from 'url';
2
3
 
3
- const path = require('path');
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
4
6
 
5
- module.exports = (moduleRegistration) => {
7
+ export default (moduleRegistration) => {
6
8
  moduleRegistration.registerConfiguration('test-2-configuration', 'test-2');
7
9
 
8
10
  moduleRegistration
@@ -25,22 +27,25 @@ module.exports = (moduleRegistration) => {
25
27
  .setAsHelpCommand(false);
26
28
 
27
29
  moduleRegistration
28
- .registerCommand('test-2-command-4', './src/testLazyLoadCommand.js')
30
+ .registerCommand(
31
+ 'test-2-command-4',
32
+ path.resolve(__dirname, 'src', 'testLazyLoadCommand.js')
33
+ )
29
34
  .addCommand(
30
35
  'test-command-4-sub-command-1',
31
- './src/testLazyLoadCommand.js'
36
+ path.resolve(__dirname, 'src', 'testLazyLoadCommand.js')
32
37
  );
33
38
 
34
39
  moduleRegistration.registerCommand(
35
40
  'test-2-command-5',
36
- path.resolve(path.join(__dirname, 'src/testLazyLoadCommand.js'))
41
+ path.resolve(__dirname, 'src', 'testLazyLoadCommand.js')
37
42
  );
38
43
 
39
44
  moduleRegistration
40
45
  .registerCommand('test-2-command-6')
41
46
  .addCommand(
42
47
  'test-command-6-sub-command',
43
- './src/testLazyLoadCommand.js'
48
+ path.resolve(__dirname, 'src', 'testLazyLoadCommand.js')
44
49
  );
45
50
 
46
51
  moduleRegistration.registerContextInformer((_request, response) => {
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "name": "test-module-2",
3
+ "type": "module",
3
4
  "version": "9.9.9"
4
5
  }
@@ -1,6 +1,4 @@
1
- 'use strict';
2
-
3
- module.exports = function testLazyLoadCommand(req, res) {
1
+ export default function testLazyLoadCommand(req, res) {
4
2
  res.caption(`Test lazy load command: "${req.command && req.command.name}"`);
5
3
 
6
4
  const moduleRegistration =
@@ -11,4 +9,4 @@ module.exports = function testLazyLoadCommand(req, res) {
11
9
  moduleRegistration.constructor &&
12
10
  moduleRegistration.constructor.name,
13
11
  });
14
- };
12
+ }
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
- module.exports = (_moduleRegistration) => {
1
+ export default (_moduleRegistration) => {
4
2
  // Duplicate module, but without actual code.
5
3
  };
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "name": "test-module-2",
3
+ "type": "module",
3
4
  "version": "8.8.8"
4
5
  }
@@ -1,4 +1,4 @@
1
- module.exports = () => {
1
+ export default () => {
2
2
  const documentNumber = Math.floor(Math.random() * 10);
3
3
 
4
4
  return {
@@ -1,4 +1,4 @@
1
- module.exports = () => {
1
+ export default () => {
2
2
  const documentNumber = Math.floor(Math.random() * 10);
3
3
 
4
4
  return {