@fontoxml/fontoxml-development-tools 3.7.0-beta.7 → 3.8.0

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 +938 -5226
  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 +8 -8
  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
@@ -1,202 +1,217 @@
1
- const fastGlob = require('fast-glob');
2
- const fs = require('fs-extra');
3
- const path = require('path');
1
+ import fastGlob from 'fast-glob';
2
+ import fs from 'fs-extra';
3
+ import path from 'path';
4
+ import { fileURLToPath } from 'url';
4
5
 
5
- const normalisePath = require('../helpers/normalisePath');
6
+ import normalisePath from '../helpers/normalisePath.js';
6
7
 
7
8
  const emittedAssets = new Map();
8
9
  const plugin = { name: 'CopyPlugin' };
9
10
 
10
- function CopyPlugin(options) {
11
- this.options = options;
12
- }
11
+ const __filename = fileURLToPath(import.meta.url);
12
+ const __dirname = path.dirname(__filename);
13
+
14
+ export default class CopyPlugin {
15
+ constructor(options) {
16
+ this.options = options;
17
+ }
13
18
 
14
- CopyPlugin.prototype.apply = function (compiler) {
15
- let packageInfos;
19
+ apply(compiler) {
20
+ let packageInfos;
16
21
 
17
- compiler.hooks.emit.tapAsync(plugin, async (compilation, callback) => {
18
- if (
19
- compilation.packagesInfoInLoadOrderError ||
20
- !compilation.packagesInfoInLoadOrder
21
- ) {
22
- const error =
22
+ compiler.hooks.emit.tapAsync(plugin, async (compilation, callback) => {
23
+ if (
23
24
  compilation.packagesInfoInLoadOrderError ||
24
- new Error('Could not get package load order information.');
25
- packageInfos = error.packageInfos || [];
26
- compilation.errors.push(error);
27
- callback();
28
- return;
29
- }
30
-
31
- const templatesPath = normalisePath(
32
- path.resolve(__dirname, '..', 'templates')
33
- );
34
- const assetInfoByTargetPath = new Map();
35
-
36
- // TODO: It's not stricly necessary to process these assets every (re)compile.
37
- // TODO: Consider placing these assets somewhere where they're unlikely to cause conflicts.
38
- (
39
- await fastGlob(
40
- [`${fastGlob.escapePath(templatesPath)}/assets/**/*`],
41
- {
42
- absolute: true,
43
- stats: true,
44
- }
45
- )
46
- ).forEach((globResult) => {
47
- assetInfoByTargetPath.set(
48
- normalisePath(path.relative(templatesPath, globResult.path)),
49
- {
50
- path: globResult.path,
51
- stats: globResult.stats,
52
- }
53
- );
54
- });
25
+ !compilation.packagesInfoInLoadOrder
26
+ ) {
27
+ const error =
28
+ compilation.packagesInfoInLoadOrderError ||
29
+ new Error('Could not get package load order information.');
30
+ packageInfos = error.packageInfos || [];
31
+ compilation.errors.push(error);
32
+ callback();
33
+ return;
34
+ }
55
35
 
56
- if (this.options.unitTest) {
57
- const testAssetsPath = normalisePath(
58
- path.resolve(this.options.paths.contextFolder)
36
+ const templatesPath = normalisePath(
37
+ path.resolve(__dirname, '..', 'templates')
59
38
  );
39
+ const assetInfoByTargetPath = new Map();
40
+
41
+ // TODO: It's not stricly necessary to process these assets every (re)compile.
42
+ // TODO: Consider placing these assets somewhere where they're unlikely to cause conflicts.
60
43
  (
61
44
  await fastGlob(
62
- [`${fastGlob.escapePath(testAssetsPath)}/test/assets/**/*`],
45
+ [`${fastGlob.escapePath(templatesPath)}/assets/**/*`],
63
46
  {
64
47
  absolute: true,
65
48
  stats: true,
66
49
  }
67
50
  )
68
51
  ).forEach((globResult) => {
69
- const targetPath = normalisePath(
70
- path.relative(
71
- path.join(this.options.paths.contextFolder, 'test'),
72
- globResult.path
73
- )
52
+ assetInfoByTargetPath.set(
53
+ normalisePath(
54
+ path.relative(templatesPath, globResult.path)
55
+ ),
56
+ {
57
+ path: globResult.path,
58
+ stats: globResult.stats,
59
+ }
74
60
  );
75
- assetInfoByTargetPath.set(targetPath, {
76
- path: globResult.path,
77
- stats: globResult.stats,
78
- });
79
61
  });
80
- }
81
-
82
- packageInfos = compilation.packagesInfoInLoadOrder;
83
62
 
84
- (
85
- await Promise.all(
86
- packageInfos.map(async (packageInfo) => {
87
- const glob =
88
- fastGlob.escapePath(normalisePath(packageInfo.path)) +
89
- (packageInfo.name === 'config'
90
- ? '/assets/**/*'
91
- : '/src/assets/**/*');
92
-
93
- return await fastGlob([glob], {
94
- absolute: true,
95
- stats: true,
96
- });
97
- })
98
- )
99
- ).reduce((map, globResults) => {
100
- globResults.forEach((globResult) => {
101
- const relativePath = normalisePath(
102
- path.relative(
103
- this.options.paths.contextFolder,
104
- globResult.path
105
- )
63
+ if (this.options.unitTest) {
64
+ const testAssetsPath = normalisePath(
65
+ path.resolve(this.options.paths.contextFolder)
106
66
  );
107
- const pathParts = relativePath.split(path.posix.sep);
108
- const isRootPackage =
109
- relativePath.startsWith('config') ||
110
- (this.options.unitTest && relativePath.startsWith('src/'));
111
- const targetPath = path.posix.join(
112
- ...pathParts.slice(isRootPackage ? 1 : 3)
113
- );
114
-
115
- map.set(targetPath, {
116
- path: globResult.path,
117
- stats: globResult.stats,
67
+ (
68
+ await fastGlob(
69
+ [
70
+ `${fastGlob.escapePath(
71
+ testAssetsPath
72
+ )}/test/assets/**/*`,
73
+ ],
74
+ {
75
+ absolute: true,
76
+ stats: true,
77
+ }
78
+ )
79
+ ).forEach((globResult) => {
80
+ const targetPath = normalisePath(
81
+ path.relative(
82
+ path.join(this.options.paths.contextFolder, 'test'),
83
+ globResult.path
84
+ )
85
+ );
86
+ assetInfoByTargetPath.set(targetPath, {
87
+ path: globResult.path,
88
+ stats: globResult.stats,
89
+ });
118
90
  });
119
- });
120
-
121
- return map;
122
- }, assetInfoByTargetPath);
91
+ }
123
92
 
124
- await Promise.all(
125
- [...emittedAssets.keys()].map(async (targetPath) => {
126
- if (!assetInfoByTargetPath.has(targetPath)) {
127
- const assetOutputPath = path.join(
128
- compilation.getPath(compiler.outputPath),
129
- targetPath
130
- );
93
+ packageInfos = compilation.packagesInfoInLoadOrder;
131
94
 
132
- await new Promise((resolve, reject) =>
133
- compiler.outputFileSystem.unlink(
134
- assetOutputPath,
135
- (error) => (error ? reject(error) : resolve())
95
+ (
96
+ await Promise.all(
97
+ packageInfos.map(async (packageInfo) => {
98
+ const glob =
99
+ fastGlob.escapePath(
100
+ normalisePath(packageInfo.path)
101
+ ) +
102
+ (packageInfo.name === 'config'
103
+ ? '/assets/**/*'
104
+ : '/src/assets/**/*');
105
+
106
+ return await fastGlob([glob], {
107
+ absolute: true,
108
+ stats: true,
109
+ });
110
+ })
111
+ )
112
+ ).reduce((map, globResults) => {
113
+ globResults.forEach((globResult) => {
114
+ const relativePath = normalisePath(
115
+ path.relative(
116
+ this.options.paths.contextFolder,
117
+ globResult.path
136
118
  )
137
119
  );
120
+ const pathParts = relativePath.split(path.posix.sep);
121
+ const isRootPackage =
122
+ relativePath.startsWith('config') ||
123
+ (this.options.unitTest &&
124
+ relativePath.startsWith('src/'));
125
+ const targetPath = path.posix.join(
126
+ ...pathParts.slice(isRootPackage ? 1 : 3)
127
+ );
138
128
 
139
- emittedAssets.delete(targetPath);
140
- }
141
- })
142
- );
143
-
144
- await Promise.all(
145
- [...assetInfoByTargetPath.keys()].map(async (targetPath) => {
146
- const assetInfo = assetInfoByTargetPath.get(targetPath);
147
-
148
- if (
149
- emittedAssets.has(targetPath) &&
150
- emittedAssets.get(targetPath).path === assetInfo.path &&
151
- emittedAssets.get(targetPath).stats.mtimeMs ===
152
- assetInfo.stats.mtimeMs
153
- ) {
154
- return;
155
- }
129
+ map.set(targetPath, {
130
+ path: globResult.path,
131
+ stats: globResult.stats,
132
+ });
133
+ });
156
134
 
157
- emittedAssets.set(targetPath, assetInfo);
135
+ return map;
136
+ }, assetInfoByTargetPath);
158
137
 
159
- const content = await fs.readFile(assetInfo.path);
138
+ await Promise.all(
139
+ [...emittedAssets.keys()].map(async (targetPath) => {
140
+ if (!assetInfoByTargetPath.has(targetPath)) {
141
+ const assetOutputPath = path.join(
142
+ compilation.getPath(compiler.outputPath),
143
+ targetPath
144
+ );
145
+
146
+ await new Promise((resolve, reject) =>
147
+ compiler.outputFileSystem.unlink(
148
+ assetOutputPath,
149
+ (error) => (error ? reject(error) : resolve())
150
+ )
151
+ );
152
+
153
+ emittedAssets.delete(targetPath);
154
+ }
155
+ })
156
+ );
160
157
 
161
- compilation.assets[targetPath] = {
162
- size() {
163
- return assetInfo.stats.size;
164
- },
165
- source() {
166
- return content;
167
- },
168
- };
169
- })
170
- );
158
+ await Promise.all(
159
+ [...assetInfoByTargetPath.keys()].map(async (targetPath) => {
160
+ const assetInfo = assetInfoByTargetPath.get(targetPath);
161
+
162
+ if (
163
+ emittedAssets.has(targetPath) &&
164
+ emittedAssets.get(targetPath).path === assetInfo.path &&
165
+ emittedAssets.get(targetPath).stats.mtimeMs ===
166
+ assetInfo.stats.mtimeMs
167
+ ) {
168
+ return;
169
+ }
171
170
 
172
- callback();
173
- });
171
+ emittedAssets.set(targetPath, assetInfo);
174
172
 
175
- compiler.hooks.afterEmit.tapAsync(plugin, (compilation, callback) => {
176
- const platformPath = path.normalize(this.options.paths.platformFolder);
173
+ const content = await fs.readFile(assetInfo.path);
177
174
 
178
- // TODO: Consider checking if the assets folder/manifest file exists before watching.
179
- packageInfos.forEach((packageInfo) => {
180
- const packagePath = path.normalize(packageInfo.path);
175
+ compilation.assets[targetPath] = {
176
+ size() {
177
+ return assetInfo.stats.size;
178
+ },
179
+ source() {
180
+ return content;
181
+ },
182
+ };
183
+ })
184
+ );
181
185
 
182
- if (packagePath === path.join(platformPath, packageInfo.name)) {
183
- return;
184
- }
186
+ callback();
187
+ });
185
188
 
186
- compilation.contextDependencies.add(
187
- path.join(
188
- packagePath,
189
- packageInfo.name === 'config' ? 'assets' : 'src/assets'
190
- )
189
+ compiler.hooks.afterEmit.tapAsync(plugin, (compilation, callback) => {
190
+ const platformPath = path.normalize(
191
+ this.options.paths.platformFolder
191
192
  );
192
193
 
193
- compilation.fileDependencies.add(
194
- path.join(packagePath, 'fonto-manifest.json')
195
- );
196
- });
194
+ // TODO: Consider checking if the assets folder/manifest file exists before watching.
195
+ packageInfos.forEach((packageInfo) => {
196
+ const packagePath = path.normalize(packageInfo.path);
197
+
198
+ if (packagePath === path.join(platformPath, packageInfo.name)) {
199
+ return;
200
+ }
197
201
 
198
- callback();
199
- });
200
- };
202
+ compilation.contextDependencies.add(
203
+ path.join(
204
+ packagePath,
205
+ packageInfo.name === 'config' ? 'assets' : 'src/assets'
206
+ )
207
+ );
208
+
209
+ compilation.fileDependencies.add(
210
+ path.join(packagePath, 'fonto-manifest.json')
211
+ );
212
+ });
201
213
 
202
- module.exports = CopyPlugin;
214
+ callback();
215
+ });
216
+ }
217
+ }
@@ -1,8 +1,6 @@
1
- const path = require('path');
1
+ import getDependenciesInLoadOrder from '../getDependenciesInLoadOrder.js';
2
2
 
3
- const getDependenciesInLoadOrder = require('../getDependenciesInLoadOrder');
4
-
5
- class DependenciesInLoadOrderPlugin {
3
+ export default class DependenciesInLoadOrderPlugin {
6
4
  constructor(options) {
7
5
  this.options = options;
8
6
  }
@@ -37,5 +35,3 @@ class DependenciesInLoadOrderPlugin {
37
35
  );
38
36
  }
39
37
  }
40
-
41
- module.exports = DependenciesInLoadOrderPlugin;
@@ -1,10 +1,10 @@
1
- const os = require('os');
2
- const webpack = require('webpack');
1
+ import os from 'os';
2
+ import DirectoryWatcher from 'watchpack/lib/DirectoryWatcher.js';
3
+ import webpack from 'webpack';
3
4
 
4
5
  // Monkey patch watchpack to output any chokidar errors.
5
6
  let response;
6
7
  let watchErrorDebounceTimeout;
7
- const DirectoryWatcher = require('watchpack/lib/DirectoryWatcher');
8
8
 
9
9
  const originalOnWatcherError = DirectoryWatcher.prototype.onWatcherError;
10
10
  DirectoryWatcher.prototype.onWatcherError = function (_error) {
@@ -26,7 +26,7 @@ function getEndTimestamp(stats) {
26
26
  ).toLocaleTimeString();
27
27
  }
28
28
 
29
- class FdtOutputPlugin {
29
+ export default class FdtOutputPlugin {
30
30
  constructor(options) {
31
31
  this.res = options.res;
32
32
  this.inDevelopmentMode = options.inDevelopmentMode;
@@ -169,5 +169,3 @@ class FdtOutputPlugin {
169
169
  });
170
170
  }
171
171
  }
172
-
173
- module.exports = FdtOutputPlugin;
@@ -1,10 +1,9 @@
1
- const path = require('path');
2
-
3
- const getPaths = require('enhanced-resolve/lib/getPaths');
1
+ import getPaths from 'enhanced-resolve/lib/getPaths.js';
2
+ import path from 'path';
4
3
 
5
4
  /** @typedef {import('enhanced-resolve').Resolver} Resolver */
6
5
 
7
- class RemoveExplicitExtensionResolvePlugin {
6
+ export default class RemoveExplicitExtensionResolvePlugin {
8
7
  constructor(options = {}) {
9
8
  this.options = options;
10
9
 
@@ -66,5 +65,3 @@ class RemoveExplicitExtensionResolvePlugin {
66
65
  );
67
66
  }
68
67
  }
69
-
70
- module.exports = RemoveExplicitExtensionResolvePlugin;
@@ -1,6 +1,6 @@
1
- const { importAliases: legacyImportAliases } = require('../config');
1
+ import { importAliases as legacyImportAliases } from '../config.js';
2
2
 
3
- class ResolveImportAliasPlugin {
3
+ export default class ResolveImportAliasPlugin {
4
4
  #inDevelopmentMode;
5
5
 
6
6
  constructor(options) {
@@ -124,5 +124,3 @@ class ResolveImportAliasPlugin {
124
124
  });
125
125
  }
126
126
  }
127
-
128
- module.exports = ResolveImportAliasPlugin;
@@ -1,12 +1,12 @@
1
- const plugin = { name: 'UnitTestPlugin' };
2
-
3
- const {
1
+ import {
4
2
  addPackageDependencies,
5
3
  getPackageManifest,
6
4
  orderPackages,
7
- } = require('../getDependenciesInLoadOrder');
5
+ } from '../getDependenciesInLoadOrder.js';
8
6
 
9
- class UnitTestPlugin {
7
+ const plugin = { name: 'UnitTestPlugin' };
8
+
9
+ export default class UnitTestPlugin {
10
10
  constructor(options) {
11
11
  this.options = options;
12
12
  }
@@ -98,5 +98,3 @@ class UnitTestPlugin {
98
98
  });
99
99
  }
100
100
  }
101
-
102
- module.exports = UnitTestPlugin;
@@ -1,15 +1,14 @@
1
- const assert = require('assert');
2
- const path = require('path');
3
-
4
- const createWebpackWatch = require('./helpers/createWebpackWatch');
5
-
6
- const addFilesToPackage = require('./helpers/appMutations/addFilesToPackage');
7
- const addPackage = require('./helpers/appMutations/addPackage');
8
- const generateSpecialFiles = require('./helpers/appMutations/generateSpecialFiles');
9
- const mutateConfigFontoManifest = require('./helpers/appMutations/mutateConfigFontoManifest');
10
- const mutatePackageFontoManifest = require('./helpers/appMutations/mutatePackageFontoManifest');
11
- const removeFilesFromPackage = require('./helpers/appMutations/removeFilesFromPackage');
12
- const removePackage = require('./helpers/appMutations/removePackage');
1
+ import assert from 'assert';
2
+ import path from 'path';
3
+
4
+ import addFilesToPackage from './helpers/appMutations/addFilesToPackage.js';
5
+ import addPackage from './helpers/appMutations/addPackage.js';
6
+ import generateSpecialFiles from './helpers/appMutations/generateSpecialFiles.js';
7
+ import mutateConfigFontoManifest from './helpers/appMutations/mutateConfigFontoManifest.js';
8
+ import mutatePackageFontoManifest from './helpers/appMutations/mutatePackageFontoManifest.js';
9
+ import removeFilesFromPackage from './helpers/appMutations/removeFilesFromPackage.js';
10
+ import removePackage from './helpers/appMutations/removePackage.js';
11
+ import createWebpackWatch from './helpers/createWebpackWatch.js';
13
12
 
14
13
  const SPECIAL_FILE_MODULES_CONFIGURE_SX_MODULE = [
15
14
  'src/templates/generated?type=configureSxModule',
@@ -1,17 +1,22 @@
1
- const assert = require('assert');
2
- const fastGlob = require('fast-glob');
3
- const fs = require('fs-extra');
4
- const path = require('path');
5
-
6
- const WarningsByFilename = require('../src/helpers/WarningsByFilename');
7
- const prettifyJsFile = require('../src/helpers/prettifyJsFile');
8
- const transformJsFile = require('../src/helpers/transformJsFile');
9
- const validateJsFile = require('../src/helpers/validateJsFile');
10
-
11
- const assertFixtureSnapshot = require('./helpers/assertFixtureSnapshot');
12
- const normaliseLineEndings = require('./helpers/normaliseLineEndings');
13
-
14
- const config = require('../src/config');
1
+ import assert from 'assert';
2
+ import fastGlob from 'fast-glob';
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import { fileURLToPath } from 'url';
6
+
7
+ import {
8
+ defaultBabelPlugins,
9
+ defaultBabelValidationPlugins,
10
+ } from '../src/config.js';
11
+ import prettifyJsFile from '../src/helpers/prettifyJsFile.js';
12
+ import transformJsFile from '../src/helpers/transformJsFile.js';
13
+ import validateJsFile from '../src/helpers/validateJsFile.js';
14
+ import WarningsByFilename from '../src/helpers/WarningsByFilename.js';
15
+ import assertFixtureSnapshot from './helpers/assertFixtureSnapshot.js';
16
+ import normaliseLineEndings from './helpers/normaliseLineEndings.js';
17
+
18
+ const __filename = fileURLToPath(import.meta.url);
19
+ const __dirname = path.dirname(__filename);
15
20
 
16
21
  const FIXTURES_FILTER = process.env.FIXTURES_FILTER;
17
22
 
@@ -40,7 +45,7 @@ const testFactoryFunctionByName = {
40
45
  return async () => {
41
46
  const transforms = [
42
47
  {
43
- plugins: config.defaultBabelPlugins,
48
+ plugins: defaultBabelPlugins,
44
49
  snapshotPath: path.join(fixturesPath, fixtureOut),
45
50
  },
46
51
  ];
@@ -114,7 +119,7 @@ const testFactoryFunctionByName = {
114
119
  return async () => {
115
120
  const transforms = [
116
121
  {
117
- plugins: config.defaultBabelValidationPlugins,
122
+ plugins: defaultBabelValidationPlugins,
118
123
  snapshotPath: path.join(fixturesPath, fixtureOut),
119
124
  },
120
125
  ];
@@ -1,5 +1,5 @@
1
- const fs = require('fs-extra');
2
- const path = require('path');
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
3
 
4
4
  const DEFAULT_OPTIONS = {
5
5
  packageLocation: 'packages',
@@ -14,7 +14,7 @@ const DEFAULT_OPTIONS = {
14
14
  files: null,
15
15
  };
16
16
 
17
- module.exports = async function addFilesToPackage(
17
+ export default async function addFilesToPackage(
18
18
  instance,
19
19
  packageName,
20
20
  options = {}
@@ -102,4 +102,4 @@ module.exports = async function addFilesToPackage(
102
102
  })
103
103
  );
104
104
  }
105
- };
105
+ }
@@ -1,5 +1,5 @@
1
- const fs = require('fs-extra');
2
- const path = require('path');
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
3
 
4
4
  const DEFAULT_OPTIONS = {
5
5
  packageLocation: 'packages',
@@ -9,7 +9,7 @@ const DEFAULT_OPTIONS = {
9
9
  role: null,
10
10
  };
11
11
 
12
- module.exports = async function addFontoManifestToPackage(
12
+ export default async function addFontoManifestToPackage(
13
13
  instance,
14
14
  packageName,
15
15
  options = {}
@@ -43,4 +43,4 @@ module.exports = async function addFontoManifestToPackage(
43
43
  }
44
44
  );
45
45
  }
46
- };
46
+ }
@@ -1,9 +1,9 @@
1
- const fs = require('fs-extra');
2
- const path = require('path');
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
3
 
4
- const addFilesToPackage = require('./addFilesToPackage');
5
- const addFontoManifestToPackage = require('./addFontoManifestToPackage');
6
- const mutateConfigFontoManifest = require('./mutateConfigFontoManifest');
4
+ import addFilesToPackage from './addFilesToPackage.js';
5
+ import addFontoManifestToPackage from './addFontoManifestToPackage.js';
6
+ import mutateConfigFontoManifest from './mutateConfigFontoManifest.js';
7
7
 
8
8
  const DEFAULT_OPTIONS = {
9
9
  packageLocation: 'packages',
@@ -27,11 +27,7 @@ async function ensureNotExists(packagePath) {
27
27
  }
28
28
  }
29
29
 
30
- module.exports = async function addPackage(
31
- instance,
32
- packageName,
33
- options = {}
34
- ) {
30
+ export default async function addPackage(instance, packageName, options = {}) {
35
31
  options = { ...DEFAULT_OPTIONS, ...options };
36
32
 
37
33
  const packagePath = path.join(
@@ -54,4 +50,4 @@ module.exports = async function addPackage(
54
50
  },
55
51
  });
56
52
  }
57
- };
53
+ }
@@ -9,7 +9,7 @@ const DEFAULT_FILES = [
9
9
  'styles',
10
10
  ];
11
11
 
12
- module.exports = function generateSpecialFiles(
12
+ export default function generateSpecialFiles(
13
13
  files = DEFAULT_FILES,
14
14
  keyword = null
15
15
  ) {
@@ -56,4 +56,4 @@ module.exports = function generateSpecialFiles(
56
56
  });
57
57
 
58
58
  return specialFiles;
59
- };
59
+ }