@fontoxml/fontoxml-development-tools 3.8.1 → 3.9.0-beta.3

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 (148) hide show
  1. package/bitbucket-pipelines.yml +7 -0
  2. package/npm-shrinkwrap.json +14865 -23377
  3. package/package.json +14 -16
  4. package/src/addModulesToApp.js +1 -1
  5. package/src/editorVersions.js +23 -0
  6. package/src/modules/connectors/index.js +1 -1
  7. package/src/modules/core/src/command.module.js +1 -1
  8. package/src/modules/editor/dev-cms/connectors-cms-standard/configureAssetPostRouteHandler.js +0 -11
  9. package/src/modules/editor/dev-cms/connectors-cms-standard/configureConnectorsCmsStandardAssetRouter.js +0 -3
  10. package/src/modules/editor/index.js +1 -1
  11. package/src/modules/editor/src/commands/command.run.controller.js +12 -7
  12. package/src/modules/editor/src/getWebpackConfig.js +160 -446
  13. package/src/modules/editor/src/getWebpackDevMiddlewareConfig.js +9 -16
  14. package/src/modules/editor/src/helpers/getNamesAndPaths.js +167 -0
  15. package/src/modules/editor/src/helpers/normalisePath.js +2 -2
  16. package/src/modules/editor/src/templates/app-entry.ts +66 -0
  17. package/src/modules/editor/src/templates/package.json +3 -0
  18. package/src/modules/editor/src/webpackLoaders/generatedLoader.cjs +88 -65
  19. package/src/modules/editor/src/webpackLoaders/platformSourceMapLoader.cjs +8 -10
  20. package/src/modules/editor/src/webpackLoaders/symbolLoader.cjs +7 -7
  21. package/src/modules/editor/src/webpackLoaders/vendorsSourceMapLoader.cjs +3 -5
  22. package/src/modules/editor/src/webpackPlugins/CopyPlugin.js +237 -171
  23. package/src/modules/editor/src/webpackPlugins/DependenciesInLoadOrderPlugin.js +12 -4
  24. package/src/modules/editor/src/webpackPlugins/FdtOutputPlugin.js +95 -102
  25. package/src/modules/editor/src/webpackPlugins/RemoveExplicitExtensionResolvePlugin.js +32 -21
  26. package/src/modules/editor/src/webpackPlugins/ResolveImportAliasPlugin.js +18 -10
  27. package/src/modules/editor/src/webpackPlugins/UnitTestPlugin.js +24 -15
  28. package/src/modules/editor/test/fixtures.test.js +0 -3
  29. package/src/modules/editor-pre-7-7-0/instanceTemplate/packages/editor-masthead/src/Masthead.jsx +30 -33
  30. package/src/modules/editor-pre-7-7-0/instanceTemplate/packages/editor-masthead/src/install.js +2 -2
  31. package/src/modules/editor-pre-7-7-0/instanceTemplate/packages/editor-masthead/src/toolbars/ExampleToolbar.jsx +4 -4
  32. package/src/modules/{editor/test/fixtures/dependencyWatching/newPackage/canAddANewEmptyAppPackage/generatedSetdefaultconfiguration.out.js → editor-pre-7-7-0/instanceTemplateTypeScript/config/.gitkeep} +0 -0
  33. package/src/modules/editor-pre-7-7-0/instanceTemplateTypeScript/config.js +12 -0
  34. package/src/modules/{editor/test/fixtures/dependencyWatching/newPackage/canAddANewEmptyAppPackage/generatedStyles.out.js → editor-pre-7-7-0/instanceTemplateTypeScript/dev-cms/files/.gitkeep} +0 -0
  35. package/src/modules/editor-pre-7-7-0/instanceTemplateTypeScript/packages/editor-masthead/src/Masthead.tsx +39 -0
  36. package/src/modules/editor-pre-7-7-0/instanceTemplateTypeScript/packages/editor-masthead/src/install.ts +7 -0
  37. package/src/modules/editor-pre-7-7-0/instanceTemplateTypeScript/packages/editor-masthead/src/toolbars/ExampleToolbar.tsx +20 -0
  38. package/src/modules/{editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveAllSpecialFilesFromPackage/generatedSetDefaultConfiguration.out.js → editor-pre-7-7-0/instanceTemplateTypeScript/platform/.gitkeep} +0 -0
  39. package/src/modules/editor-pre-7-7-0/instanceTemplateTypeScript/tsconfig.json +6 -0
  40. package/src/modules/editor-pre-7-7-0/src/api/init/checkEditorDestination.js +1 -0
  41. package/src/modules/editor-pre-7-7-0/src/api/init/createConfigConfiguration.js +42 -18
  42. package/src/modules/editor-pre-7-7-0/src/api/init/createSchemaExperienceResolver.js +19 -15
  43. package/src/modules/editor-pre-7-7-0/src/api/schema/buildElementConfigurations.js +70 -0
  44. package/src/modules/editor-pre-7-7-0/src/api/schema/checkIfCompiledSchemaOverwritesFiles.js +5 -5
  45. package/src/modules/editor-pre-7-7-0/src/api/schema/createSchemaExperiencePackages.js +122 -86
  46. package/src/modules/editor-pre-7-7-0/src/api/schema/createSchemaPackages.js +32 -26
  47. package/src/modules/editor-pre-7-7-0/src/command.init.controller.js +20 -13
  48. package/src/modules/editor-pre-7-7-0/src/command.init.js +6 -0
  49. package/src/modules/editor-pre-7-7-0/src/command.upgrade.controller.js +25 -0
  50. package/src/modules/editor-pre-7-7-0/test/api/init/createConfigConfiguration.test.js +47 -0
  51. package/src/modules/editor-pre-7-7-0/test/api/schema/buildElementConfigurations.test.js +119 -0
  52. package/src/modules/editor-pre-7-7-0/test/api/schema/zipSchemaSource.test.js +20 -1
  53. package/src/modules/editor/dev-cms/connectors-cms-standard/configureAssetGetRouteHandler.js +0 -29
  54. package/src/modules/editor/src/templates/app-entry.cjs +0 -69
  55. package/src/modules/editor/test/apps/minimal/config/configuration.js +0 -5
  56. package/src/modules/editor/test/apps/minimal/config/fonto-manifest.json +0 -6
  57. package/src/modules/editor/test/apps/minimal/config/schemaExperienceResolver.js +0 -15
  58. package/src/modules/editor/test/apps/minimal/packages/app-test/src/SCHEMA_LOCATIONS.js +0 -1
  59. package/src/modules/editor/test/apps/minimal/packages/app-test/src/install.js +0 -3
  60. package/src/modules/editor/test/apps/minimal/platform/fontoxml-configuration/fonto-manifest.json +0 -4
  61. package/src/modules/editor/test/apps/minimal/platform/fontoxml-configuration/src/configurationManager.js +0 -11
  62. package/src/modules/editor/test/apps/minimal/platform/fontoxml-editor/fonto-manifest.json +0 -4
  63. package/src/modules/editor/test/apps/minimal/platform/fontoxml-editor/src/editor/Router.jsx +0 -1
  64. package/src/modules/editor/test/apps/minimal/platform/fontoxml-editor/src/renderApp.js +0 -5
  65. package/src/modules/editor/test/apps/minimal/platform/fontoxml-localization/fonto-manifest.json +0 -4
  66. package/src/modules/editor/test/apps/minimal/platform/fontoxml-localization/src/localizationManager.js +0 -3
  67. package/src/modules/editor/test/apps/minimal/platform/fontoxml-modular-schema-experience/fonto-manifest.json +0 -4
  68. package/src/modules/editor/test/apps/minimal/platform/fontoxml-modular-schema-experience/src/sxManager.js +0 -13
  69. package/src/modules/editor/test/apps/minimal/platform/fontoxml-operations/fonto-manifest.json +0 -4
  70. package/src/modules/editor/test/apps/minimal/platform/fontoxml-operations/src/operationsManager.js +0 -3
  71. package/src/modules/editor/test/apps/minimal/platform/fontoxml-platform-base/fonto-manifest.json +0 -7
  72. package/src/modules/editor/test/apps/minimal/platform/fontoxml-platform-base/src/configureSxModule.js +0 -3
  73. package/src/modules/editor/test/apps/minimal/platform/fontoxml-platform-package/fonto-manifest.json +0 -4
  74. package/src/modules/editor/test/apps/minimal/platform/fontoxml-platform-package/src/install.js +0 -3
  75. package/src/modules/editor/test/apps/minimal/platform/fontoxml-selectors/fonto-manifest.json +0 -4
  76. package/src/modules/editor/test/apps/minimal/platform/fontoxml-selectors/src/registerXQueryModule.js +0 -1
  77. package/src/modules/editor/test/apps/minimal/platform/fontoxml-shims/fonto-manifest.json +0 -4
  78. package/src/modules/editor/test/apps/minimal/platform/fontoxml-shims/src/main.js +0 -1
  79. package/src/modules/editor/test/apps/minimal/platform/fontoxml-utils/fonto-manifest.json +0 -4
  80. package/src/modules/editor/test/apps/minimal/platform/fontoxml-utils/src/getQueryParameterByName.js +0 -1
  81. package/src/modules/editor/test/apps/minimal/platform/fontoxml-vendors/fonto-manifest.json +0 -4
  82. package/src/modules/editor/test/apps/minimal/platform/fontoxml-vendors/src/glamor.js +0 -12
  83. package/src/modules/editor/test/apps/minimal/platform/fontoxml-vendors/src/react-dom.js +0 -6
  84. package/src/modules/editor/test/apps/minimal/platform/fontoxml-vendors/src/react-dom.min.js +0 -6
  85. package/src/modules/editor/test/apps/minimal/platform/fontoxml-vendors/src/react.js +0 -1
  86. package/src/modules/editor/test/apps/minimal/platform/fontoxml-vendors/src/react.min.js +0 -1
  87. package/src/modules/editor/test/dependecyWatching.test.js +0 -741
  88. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddAllSpecialFilesToPackage/generatedConfigureSxModule.out.js +0 -26
  89. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddAllSpecialFilesToPackage/generatedInstall.out.js +0 -13
  90. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddAllSpecialFilesToPackage/generatedMessages.out.js +0 -7
  91. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddAllSpecialFilesToPackage/generatedSetDefaultConfiguration.out.js +0 -3
  92. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddAllSpecialFilesToPackage/generatedStyles.out.js +0 -1
  93. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddConfiguresxmoduleToPackage/generatedConfigureSxModule.out.js +0 -26
  94. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddInstallToPackage/generatedInstall.out.js +0 -9
  95. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddMessagesEoToPackage/generatedMessages.out.js +0 -5
  96. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddMessagesToPackage/generatedMessages.out.js +0 -5
  97. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddOperationsToPackage/generatedInstall.out.js +0 -9
  98. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddOperationsWildcardToPackage/generatedInstall.out.js +0 -9
  99. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddSetdefaultconfigurationToPackage/generatedSetDefaultConfiguration.out.js +0 -3
  100. package/src/modules/editor/test/fixtures/dependencyWatching/addSpecialFileToExistingPackage/canAddStylesToPackage/generatedStyles.out.js +0 -1
  101. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewEmptyAppPackage/generatedConfigureSxModule.out.js +0 -20
  102. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewEmptyAppPackage/generatedInstall.out.js +0 -7
  103. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewEmptyAppPackage/generatedMessages.out.js +0 -1
  104. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageAsConfigDependency/generatedInstall.out.js +0 -9
  105. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageAsConfigDependency/generatedInstallBefore.out.js +0 -7
  106. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageAsOtherPackageDependency/generatedInstall.out.js +0 -9
  107. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageAsOtherPackageDependency/generatedInstallBefore.out.js +0 -7
  108. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageWithSpecialFiles/generatedConfigureSxModule.out.js +0 -26
  109. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageWithSpecialFiles/generatedInstall.out.js +0 -13
  110. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageWithSpecialFiles/generatedMessages.out.js +0 -7
  111. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageWithSpecialFiles/generatedSetDefaultConfiguration.out.js +0 -3
  112. package/src/modules/editor/test/fixtures/dependencyWatching/newPackage/canAddANewPackageWithSpecialFiles/generatedStyles.out.js +0 -1
  113. package/src/modules/editor/test/fixtures/dependencyWatching/overridePackage/canAddANewOverridePackage/overrideRenderApp.out.js +0 -3
  114. package/src/modules/editor/test/fixtures/dependencyWatching/overridePackage/canRemoveAnOverridePackage/overrideRenderApp.out.js +0 -3
  115. package/src/modules/editor/test/fixtures/dependencyWatching/overridePackage/canRemoveAnOverridePackage/renderApp.out.js +0 -3
  116. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/beforeEachHook/generatedConfigureSxModule.out.js +0 -26
  117. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/beforeEachHook/generatedInstall.out.js +0 -13
  118. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/beforeEachHook/generatedMessages.out.js +0 -7
  119. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/beforeEachHook/generatedSetDefaultConfiguration.out.js +0 -3
  120. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/beforeEachHook/generatedStyles.out.js +0 -1
  121. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveAllSpecialFilesFromPackage/generatedConfigureSxModule.out.js +0 -23
  122. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveAllSpecialFilesFromPackage/generatedInstall.out.js +0 -7
  123. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveAllSpecialFilesFromPackage/generatedMessages.out.js +0 -1
  124. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveAllSpecialFilesFromPackage/generatedStyles.out.js +0 -0
  125. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveConfiguresxmoduleFromPackage/generatedConfigureSxModule.out.js +0 -23
  126. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveInstallFromPackage/generatedInstall.out.js +0 -11
  127. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveMessagesEoFromPackage/generatedMessages.out.js +0 -5
  128. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveMessagesFromPackage/generatedMessages.out.js +0 -5
  129. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveOperationsFromPackage/generatedInstall.out.js +0 -11
  130. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveOperationsWildcardFromPackage/generatedInstall.out.js +0 -11
  131. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveSetDefaultConfigurationFromPackage/generatedSetDefaultConfiguration.out.js +0 -0
  132. package/src/modules/editor/test/fixtures/dependencyWatching/removeSpecialFileFromExistingPackage/canRemoveStylesFromPackage/generatedStyles.out.js +0 -0
  133. package/src/modules/editor/test/fixtures/dependencyWatching/removedPackage/beforeEachHook/generatedInstall.out.js +0 -9
  134. package/src/modules/editor/test/fixtures/dependencyWatching/removedPackage/canRemoveAPackage/generatedInstall.out.js +0 -7
  135. package/src/modules/editor/test/fixtures/dependencyWatching/removedPackage/canRemovePackageFromConfigManifest/generatedInstall.out.js +0 -7
  136. package/src/modules/editor/test/fixtures/dependencyWatching/removedPackage/canRemovePackageFromOtherPackageManifest/generatedInstall.out.js +0 -9
  137. package/src/modules/editor/test/fixtures/dependencyWatching/removedPackage/canRemovePackageFromOtherPackageManifest/generatedInstallBefore.out.js +0 -11
  138. package/src/modules/editor/test/helpers/appMutations/addFilesToPackage.js +0 -105
  139. package/src/modules/editor/test/helpers/appMutations/addFontoManifestToPackage.js +0 -46
  140. package/src/modules/editor/test/helpers/appMutations/addPackage.js +0 -53
  141. package/src/modules/editor/test/helpers/appMutations/generateSpecialFiles.js +0 -59
  142. package/src/modules/editor/test/helpers/appMutations/mutateConfigFontoManifest.js +0 -49
  143. package/src/modules/editor/test/helpers/appMutations/mutatePackageFontoManifest.js +0 -67
  144. package/src/modules/editor/test/helpers/appMutations/removeFilesFromPackage.js +0 -33
  145. package/src/modules/editor/test/helpers/appMutations/removePackage.js +0 -33
  146. package/src/modules/editor/test/helpers/createAppStructure.js +0 -17
  147. package/src/modules/editor/test/helpers/createTempDirectory.js +0 -20
  148. package/src/modules/editor/test/helpers/createWebpackWatch.js +0 -444
@@ -1,46 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
-
4
- const DEFAULT_OPTIONS = {
5
- packageLocation: 'packages',
6
-
7
- dependencies: null,
8
- devDependencies: null,
9
- role: null,
10
- };
11
-
12
- export default async function addFontoManifestToPackage(
13
- instance,
14
- packageName,
15
- options = {}
16
- ) {
17
- options = { ...DEFAULT_OPTIONS, ...options };
18
-
19
- const packagePath = path.join(
20
- instance.contextPath,
21
- options.packageLocation,
22
- packageName
23
- );
24
- await fs.access(packagePath, fs.constants.F_OK);
25
-
26
- if (options.dependencies || options.devDependencies || options.role) {
27
- const manifest = {};
28
- if (options.dependencies) {
29
- manifest.dependencies = options.dependencies;
30
- }
31
- if (options.devDependencies) {
32
- manifest.devDependencies = options.devDependencies;
33
- }
34
- if (options.role) {
35
- manifest.role = options.role;
36
- }
37
-
38
- await fs.outputJson(
39
- path.join(packagePath, 'fonto-manifest.json'),
40
- manifest,
41
- {
42
- spaces: '\t',
43
- }
44
- );
45
- }
46
- }
@@ -1,53 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
-
4
- import addFilesToPackage from './addFilesToPackage.js';
5
- import addFontoManifestToPackage from './addFontoManifestToPackage.js';
6
- import mutateConfigFontoManifest from './mutateConfigFontoManifest.js';
7
-
8
- const DEFAULT_OPTIONS = {
9
- packageLocation: 'packages',
10
-
11
- addToConfigFontoManifest: true,
12
- };
13
-
14
- async function ensureNotExists(packagePath) {
15
- let exists = false;
16
- try {
17
- await fs.access(packagePath, fs.constants.F_OK);
18
- exists = true;
19
- } catch (_error) {
20
- // Do nothing
21
- }
22
-
23
- if (exists) {
24
- throw new Error(
25
- `Package path exists while it should not, "${packagePath}".`
26
- );
27
- }
28
- }
29
-
30
- export default async function addPackage(instance, packageName, options = {}) {
31
- options = { ...DEFAULT_OPTIONS, ...options };
32
-
33
- const packagePath = path.join(
34
- instance.contextPath,
35
- options.packageLocation,
36
- packageName
37
- );
38
- await ensureNotExists(packagePath);
39
-
40
- await fs.emptyDir(packagePath);
41
-
42
- await addFontoManifestToPackage(instance, packageName, options);
43
-
44
- await addFilesToPackage(instance, packageName, options);
45
-
46
- if (options.addToConfigFontoManifest) {
47
- await mutateConfigFontoManifest(instance, {
48
- dependencyAdditions: {
49
- [packageName]: `${options.packageLocation}/${packageName}`,
50
- },
51
- });
52
- }
53
- }
@@ -1,59 +0,0 @@
1
- const DEFAULT_FILES = [
2
- 'configureSxModule',
3
- 'install',
4
- 'operations',
5
- 'operations-wildcard',
6
- 'messages',
7
- 'messages-eo',
8
- 'setDefaultConfiguration',
9
- 'styles',
10
- ];
11
-
12
- export default function generateSpecialFiles(
13
- files = DEFAULT_FILES,
14
- keyword = null
15
- ) {
16
- const specialFiles = {};
17
-
18
- const keywordString = keyword ? `/* ${keyword} */` : '';
19
-
20
- files.forEach((file) => {
21
- if (file === 'configureSxModule') {
22
- specialFiles[
23
- file
24
- ] = `export default function configureSxModule (sxModule) {${keywordString}};`;
25
- } else if (file === 'install') {
26
- specialFiles[
27
- file
28
- ] = `export default function install () {${keywordString}};`;
29
- } else if (file.startsWith('operations')) {
30
- const match = file.match(/operations(-(.+))/);
31
- const wildcard = (match && match[2]) || null;
32
- specialFiles.operations = specialFiles.operations || [];
33
- specialFiles.operations.push([
34
- wildcard,
35
- `{ "${
36
- wildcard ? wildcard : 'normal'
37
- }": { "label": "${keywordString}" } }`,
38
- ]);
39
- } else if (file.startsWith('messages')) {
40
- const match = file.match(/messages(-(.+))/);
41
- const locale = (match && match[2]) || 'en';
42
- specialFiles.messages = specialFiles.messages || [];
43
- specialFiles.messages.push([
44
- locale,
45
- `{ "message_${locale}": { "out": "${keywordString}" } }`,
46
- ]);
47
- } else if (file === 'setDefaultConfiguration') {
48
- specialFiles[
49
- file
50
- ] = `export default function setDefaultConfiguration () {${keywordString}};`;
51
- } else if (file === 'styles') {
52
- specialFiles[file] = `/* Styles */${
53
- keywordString ? `\n${keywordString}` : ''
54
- }`;
55
- }
56
- });
57
-
58
- return specialFiles;
59
- }
@@ -1,49 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
-
4
- const DEFAULT_OPTIONS = {
5
- dependencies: null,
6
- dependencyAdditions: null,
7
- dependencyRemovals: null,
8
- };
9
-
10
- export default async function mutateConfigFontoManifest(instance, options) {
11
- options = { ...DEFAULT_OPTIONS, ...options };
12
-
13
- // Read.
14
- const configFontoManifestPath = path.join(
15
- instance.contextPath,
16
- 'config',
17
- 'fonto-manifest.json'
18
- );
19
- const configFontoManifest = await fs.readJson(configFontoManifestPath);
20
-
21
- // Replace all.
22
- if (options.dependencies) {
23
- configFontoManifest.dependencies = options.dependencies;
24
- }
25
-
26
- // Add dependencies.
27
- if (options.dependencyAdditions) {
28
- Object.keys(options.dependencyAdditions).forEach(
29
- (dependencyAddition) => {
30
- configFontoManifest.dependencies[dependencyAddition] =
31
- options.dependencyAdditions[dependencyAddition];
32
- }
33
- );
34
- }
35
-
36
- // Remove dependencies by name.
37
- if (options.dependencyRemovals) {
38
- options.dependencyRemovals.forEach((dependencyRemoval) => {
39
- if (configFontoManifest.dependencies[dependencyRemoval]) {
40
- delete configFontoManifest.dependencies[dependencyRemoval];
41
- }
42
- });
43
- }
44
-
45
- // Write.
46
- await fs.outputJson(configFontoManifestPath, configFontoManifest, {
47
- spaces: '\t',
48
- });
49
- }
@@ -1,67 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
-
4
- const DEFAULT_OPTIONS = {
5
- packageLocation: 'packages',
6
- dependencies: null,
7
- dependencyAdditions: null,
8
- dependencyRemovals: null,
9
- };
10
-
11
- export default async function mutatePackageFontoManifest(
12
- instance,
13
- packageName,
14
- options
15
- ) {
16
- options = { ...DEFAULT_OPTIONS, ...options };
17
-
18
- const packagePath = path.join(
19
- instance.contextPath,
20
- options.packageLocation,
21
- packageName
22
- );
23
- await fs.access(packagePath, fs.constants.F_OK);
24
-
25
- // Read. if it exists.
26
- const configFontoManifestPath = path.join(
27
- packagePath,
28
- 'fonto-manifest.json'
29
- );
30
- let configFontoManifest;
31
- try {
32
- configFontoManifest = await fs.readJson(configFontoManifestPath);
33
- } catch (_error) {
34
- configFontoManifest = {};
35
- }
36
-
37
- // Replace all.
38
- if (options.dependencies) {
39
- configFontoManifest.dependencies = options.dependencies;
40
- }
41
-
42
- // Add dependencies.
43
- if (options.dependencyAdditions) {
44
- configFontoManifest.dependencies =
45
- configFontoManifest.dependencies || {};
46
- Object.keys(options.dependencyAdditions).forEach(
47
- (dependencyAddition) => {
48
- configFontoManifest.dependencies[dependencyAddition] =
49
- options.dependencyAdditions[dependencyAddition];
50
- }
51
- );
52
- }
53
-
54
- // Remove dependencies by name.
55
- if (options.dependencyRemovals && configFontoManifest.dependencies) {
56
- options.dependencyRemovals.forEach((dependencyRemoval) => {
57
- if (configFontoManifest.dependencies[dependencyRemoval]) {
58
- delete configFontoManifest.dependencies[dependencyRemoval];
59
- }
60
- });
61
- }
62
-
63
- // Write.
64
- await fs.outputJson(configFontoManifestPath, configFontoManifest, {
65
- spaces: '\t',
66
- });
67
- }
@@ -1,33 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
-
4
- const DEFAULT_OPTIONS = {
5
- packageLocation: 'packages',
6
-
7
- filenames: null,
8
- };
9
-
10
- export default async function removeFilesFromPackage(
11
- instance,
12
- packageName,
13
- options = {}
14
- ) {
15
- options = { ...DEFAULT_OPTIONS, ...options };
16
-
17
- const packagePath = path.join(
18
- instance.contextPath,
19
- options.packageLocation,
20
- packageName
21
- );
22
- await fs.access(packagePath, fs.constants.F_OK);
23
-
24
- if (options.filenames) {
25
- await Promise.all(
26
- options.filenames.map(async (filename) => {
27
- const filePath = path.join(packagePath, filename);
28
- await fs.access(filePath, fs.constants.F_OK);
29
- await fs.unlink(filePath);
30
- })
31
- );
32
- }
33
- }
@@ -1,33 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
-
4
- import mutateConfigFontoManifest from './mutateConfigFontoManifest.js';
5
-
6
- const DEFAULT_OPTIONS = {
7
- packageLocation: 'packages',
8
-
9
- removeFromConfigFontoManifest: true,
10
- };
11
-
12
- export default async function removePackage(
13
- instance,
14
- packageName,
15
- options = {}
16
- ) {
17
- options = { ...DEFAULT_OPTIONS, ...options };
18
-
19
- const packagePath = path.join(
20
- instance.contextPath,
21
- options.packageLocation,
22
- packageName
23
- );
24
- await fs.access(packagePath, fs.constants.F_OK);
25
-
26
- await fs.remove(packagePath);
27
-
28
- if (options.removeFromConfigFontoManifest) {
29
- await mutateConfigFontoManifest(instance, {
30
- dependencyRemovals: [packageName],
31
- });
32
- }
33
- }
@@ -1,17 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
- import { fileURLToPath } from 'url';
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = path.dirname(__filename);
7
-
8
- export default async function createAppStructure(appPath, type = 'minimal') {
9
- if (!appPath) {
10
- throw new Error(
11
- 'Cannot create a app structure without specifying a path.'
12
- );
13
- }
14
-
15
- // Copy the minimal app template to the temp directory.
16
- await fs.copy(path.join(__dirname, '..', 'apps', type), appPath);
17
- }
@@ -1,20 +0,0 @@
1
- import tmp from 'tmp';
2
-
3
- export default async function createTempDirectory() {
4
- return new Promise((resolve, reject) => {
5
- tmp.dir(
6
- {
7
- prefix: 'fonto-dev-test-',
8
- unsafeCleanup: true,
9
- },
10
- (error, path, cleanupCallback) => {
11
- if (error) {
12
- reject(error);
13
- return;
14
- }
15
-
16
- resolve({ path, cleanupCallback });
17
- }
18
- );
19
- });
20
- }