@ui5/builder 3.0.0-alpha.10 → 3.0.0-alpha.12

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 (80) hide show
  1. package/CHANGELOG.md +35 -2
  2. package/jsdoc.json +2 -2
  3. package/lib/lbt/UI5ClientConstants.js +7 -8
  4. package/lib/lbt/analyzer/ComponentAnalyzer.js +10 -10
  5. package/lib/lbt/analyzer/FioriElementsAnalyzer.js +31 -20
  6. package/lib/lbt/analyzer/JSModuleAnalyzer.js +107 -65
  7. package/lib/lbt/analyzer/SmartTemplateAnalyzer.js +31 -20
  8. package/lib/lbt/analyzer/XMLCompositeAnalyzer.js +35 -25
  9. package/lib/lbt/analyzer/XMLTemplateAnalyzer.js +19 -17
  10. package/lib/lbt/analyzer/analyzeLibraryJS.js +22 -6
  11. package/lib/lbt/bundle/AutoSplitter.js +10 -11
  12. package/lib/lbt/bundle/Builder.js +30 -33
  13. package/lib/lbt/bundle/BundleDefinition.js +1 -5
  14. package/lib/lbt/bundle/BundleWriter.js +1 -2
  15. package/lib/lbt/bundle/ResolvedBundleDefinition.js +6 -7
  16. package/lib/lbt/bundle/Resolver.js +9 -10
  17. package/lib/lbt/calls/SapUiDefine.js +16 -11
  18. package/lib/lbt/graph/dependencyGraph.js +3 -4
  19. package/lib/lbt/graph/dominatorTree.js +3 -3
  20. package/lib/lbt/graph/topologicalSort.js +3 -3
  21. package/lib/lbt/resources/LibraryFileAnalyzer.js +5 -8
  22. package/lib/lbt/resources/LocatorResource.js +2 -2
  23. package/lib/lbt/resources/LocatorResourcePool.js +3 -3
  24. package/lib/lbt/resources/ModuleInfo.js +1 -2
  25. package/lib/lbt/resources/Resource.js +3 -4
  26. package/lib/lbt/resources/ResourceCollector.js +7 -8
  27. package/lib/lbt/resources/ResourceFilterList.js +38 -40
  28. package/lib/lbt/resources/ResourceInfo.js +1 -1
  29. package/lib/lbt/resources/ResourceInfoList.js +2 -2
  30. package/lib/lbt/resources/ResourcePool.js +15 -21
  31. package/lib/lbt/utils/ASTUtils.js +58 -44
  32. package/lib/lbt/utils/JSTokenizer.js +4 -4
  33. package/lib/lbt/utils/ModuleName.js +10 -20
  34. package/lib/lbt/utils/escapePropertiesFile.js +3 -3
  35. package/lib/lbt/utils/parseUtils.js +4 -10
  36. package/lib/processors/bootstrapHtmlTransformer.js +15 -7
  37. package/lib/processors/bundlers/flexChangesBundler.js +16 -8
  38. package/lib/processors/bundlers/manifestBundler.js +19 -10
  39. package/lib/processors/bundlers/moduleBundler.js +26 -15
  40. package/lib/processors/jsdoc/apiIndexGenerator.js +16 -9
  41. package/lib/processors/jsdoc/jsdocGenerator.js +31 -17
  42. package/lib/processors/jsdoc/lib/{createIndexFiles.js → createIndexFiles.cjs} +0 -0
  43. package/lib/processors/jsdoc/lib/{transformApiJson.js → transformApiJson.cjs} +58 -2
  44. package/lib/processors/jsdoc/lib/ui5/{plugin.js → plugin.cjs} +306 -119
  45. package/lib/processors/jsdoc/lib/ui5/template/{publish.js → publish.cjs} +1 -1
  46. package/lib/processors/jsdoc/lib/ui5/template/utils/{versionUtil.js → versionUtil.cjs} +0 -0
  47. package/lib/processors/jsdoc/sdkTransformer.js +18 -11
  48. package/lib/processors/libraryLessGenerator.js +28 -16
  49. package/lib/processors/manifestCreator.js +14 -13
  50. package/lib/processors/minifier.js +21 -15
  51. package/lib/processors/nonAsciiEscaper.js +16 -6
  52. package/lib/processors/resourceListCreator.js +13 -13
  53. package/lib/processors/stringReplacer.js +13 -6
  54. package/lib/processors/themeBuilder.js +30 -22
  55. package/lib/processors/versionInfoGenerator.js +33 -23
  56. package/lib/tasks/buildThemes.js +17 -10
  57. package/lib/tasks/bundlers/generateBundle.js +23 -12
  58. package/lib/tasks/bundlers/generateComponentPreload.js +18 -10
  59. package/lib/tasks/bundlers/generateFlexChangesBundle.js +16 -8
  60. package/lib/tasks/bundlers/generateLibraryPreload.js +22 -12
  61. package/lib/tasks/bundlers/generateManifestBundle.js +15 -6
  62. package/lib/tasks/bundlers/generateStandaloneAppBundle.js +21 -13
  63. package/lib/tasks/bundlers/utils/createModuleNameMapping.js +6 -6
  64. package/lib/tasks/escapeNonAsciiCharacters.js +12 -5
  65. package/lib/tasks/generateCachebusterInfo.js +16 -8
  66. package/lib/tasks/generateLibraryManifest.js +14 -8
  67. package/lib/tasks/generateResourcesJson.js +15 -9
  68. package/lib/tasks/generateThemeDesignerResources.js +19 -9
  69. package/lib/tasks/generateVersionInfo.js +12 -5
  70. package/lib/tasks/jsdoc/executeJsdocSdkTransformation.js +17 -9
  71. package/lib/tasks/jsdoc/generateApiIndex.js +16 -10
  72. package/lib/tasks/jsdoc/generateJsdoc.js +131 -119
  73. package/lib/tasks/minify.js +13 -6
  74. package/lib/tasks/replaceBuildtime.js +12 -5
  75. package/lib/tasks/replaceCopyright.js +12 -5
  76. package/lib/tasks/replaceVersion.js +12 -5
  77. package/lib/tasks/taskRepository.js +24 -29
  78. package/lib/tasks/transformBootstrapHtml.js +6 -5
  79. package/package.json +30 -15
  80. package/index.js +0 -173
@@ -1,20 +1,27 @@
1
- const minifier = require("../processors/minifier");
1
+ import minifier from "../processors/minifier.js";
2
+
3
+ /**
4
+ * @public
5
+ * @module @ui5/builder/tasks/minify
6
+ */
2
7
 
3
8
  /**
4
9
  * Task to minify resources.
5
10
  *
6
11
  * @public
7
- * @alias module:@ui5/builder.tasks.minify
12
+ * @function default
13
+ * @static
14
+ *
8
15
  * @param {object} parameters Parameters
9
- * @param {module:@ui5/fs.DuplexCollection} parameters.workspace DuplexCollection to read and write files
10
- * @param {module:@ui5/project.build.helpers.TaskUtil|object} [parameters.taskUtil] TaskUtil
16
+ * @param {@ui5/fs/DuplexCollection} parameters.workspace DuplexCollection to read and write files
17
+ * @param {@ui5/project/build/helpers/TaskUtil|object} [parameters.taskUtil] TaskUtil
11
18
  * @param {object} parameters.options Options
12
19
  * @param {string} parameters.options.pattern Pattern to locate the files to be processed
13
20
  * @param {boolean} [parameters.options.omitSourceMapResources=false] Whether source map resources shall
14
21
  * be tagged as "OmitFromBuildResult" and no sourceMappingURL shall be added to the minified resource
15
22
  * @returns {Promise<undefined>} Promise resolving with <code>undefined</code> once data has been written
16
23
  */
17
- module.exports = async function({workspace, taskUtil, options: {pattern, omitSourceMapResources = false}}) {
24
+ export default async function({workspace, taskUtil, options: {pattern, omitSourceMapResources = false}}) {
18
25
  const resources = await workspace.byGlob(pattern);
19
26
  const processedResources = await minifier({
20
27
  resources,
@@ -38,4 +45,4 @@ module.exports = async function({workspace, taskUtil, options: {pattern, omitSou
38
45
  workspace.write(sourceMapResource)
39
46
  ]);
40
47
  }));
41
- };
48
+ }
@@ -1,4 +1,4 @@
1
- const stringReplacer = require("../processors/stringReplacer");
1
+ import stringReplacer from "../processors/stringReplacer.js";
2
2
 
3
3
  function pad(v) {
4
4
  return String(v).padStart(2, "0");
@@ -14,18 +14,25 @@ function getTimestamp() {
14
14
  return year + month + day + "-" + hours + minutes;
15
15
  }
16
16
 
17
+ /**
18
+ * @public
19
+ * @module @ui5/builder/tasks/replaceBuildtime
20
+ */
21
+
17
22
  /**
18
23
  * Task to replace the buildtime <code>${buildtime}</code>.
19
24
  *
20
25
  * @public
21
- * @alias module:@ui5/builder.tasks.replaceBuildtime
26
+ * @function default
27
+ * @static
28
+ *
22
29
  * @param {object} parameters Parameters
23
- * @param {module:@ui5/fs.DuplexCollection} parameters.workspace DuplexCollection to read and write files
30
+ * @param {@ui5/fs/DuplexCollection} parameters.workspace DuplexCollection to read and write files
24
31
  * @param {object} parameters.options Options
25
32
  * @param {string} parameters.options.pattern Pattern to locate the files to be processed
26
33
  * @returns {Promise<undefined>} Promise resolving with <code>undefined</code> once data has been written
27
34
  */
28
- module.exports = function({workspace, options: {pattern}}) {
35
+ export default function({workspace, options: {pattern}}) {
29
36
  const timestamp = getTimestamp();
30
37
 
31
38
  return workspace.byGlob(pattern)
@@ -43,4 +50,4 @@ module.exports = function({workspace, options: {pattern}}) {
43
50
  return workspace.write(resource);
44
51
  }));
45
52
  });
46
- };
53
+ }
@@ -1,4 +1,9 @@
1
- const stringReplacer = require("../processors/stringReplacer");
1
+ import stringReplacer from "../processors/stringReplacer.js";
2
+
3
+ /**
4
+ * @public
5
+ * @module @ui5/builder/tasks/replaceCopyright
6
+ */
2
7
 
3
8
  /**
4
9
  * Task to to replace the copyright.
@@ -14,15 +19,17 @@ const stringReplacer = require("../processors/stringReplacer");
14
19
  * If no copyright string is given, no replacement is being done.
15
20
  *
16
21
  * @public
17
- * @alias module:@ui5/builder.tasks.replaceCopyright
22
+ * @function default
23
+ * @static
24
+ *
18
25
  * @param {object} parameters Parameters
19
- * @param {module:@ui5/fs.DuplexCollection} parameters.workspace DuplexCollection to read and write files
26
+ * @param {@ui5/fs/DuplexCollection} parameters.workspace DuplexCollection to read and write files
20
27
  * @param {object} parameters.options Options
21
28
  * @param {string} parameters.options.copyright Replacement copyright
22
29
  * @param {string} parameters.options.pattern Pattern to locate the files to be processed
23
30
  * @returns {Promise<undefined>} Promise resolving with <code>undefined</code> once data has been written
24
31
  */
25
- module.exports = function({workspace, options: {copyright, pattern}}) {
32
+ export default function({workspace, options: {copyright, pattern}}) {
26
33
  if (!copyright) {
27
34
  return Promise.resolve();
28
35
  }
@@ -45,4 +52,4 @@ module.exports = function({workspace, options: {copyright, pattern}}) {
45
52
  return workspace.write(resource);
46
53
  }));
47
54
  });
48
- };
55
+ }
@@ -1,18 +1,25 @@
1
- const stringReplacer = require("../processors/stringReplacer");
1
+ import stringReplacer from "../processors/stringReplacer.js";
2
+
3
+ /**
4
+ * @public
5
+ * @module @ui5/builder/tasks/replaceVersion
6
+ */
2
7
 
3
8
  /**
4
9
  * Task to replace the version <code>${version}</code>.
5
10
  *
6
11
  * @public
7
- * @alias module:@ui5/builder.tasks.replaceVersion
12
+ * @function default
13
+ * @static
14
+ *
8
15
  * @param {object} parameters Parameters
9
- * @param {module:@ui5/fs.DuplexCollection} parameters.workspace DuplexCollection to read and write files
16
+ * @param {@ui5/fs/DuplexCollection} parameters.workspace DuplexCollection to read and write files
10
17
  * @param {object} parameters.options Options
11
18
  * @param {string} parameters.options.pattern Pattern to locate the files to be processed
12
19
  * @param {string} parameters.options.version Replacement version
13
20
  * @returns {Promise<undefined>} Promise resolving with <code>undefined</code> once data has been written
14
21
  */
15
- module.exports = function({workspace, options: {pattern, version}}) {
22
+ export default function({workspace, options: {pattern, version}}) {
16
23
  return workspace.byGlob(pattern)
17
24
  .then((allResources) => {
18
25
  return stringReplacer({
@@ -28,4 +35,4 @@ module.exports = function({workspace, options: {pattern, version}}) {
28
35
  return workspace.write(resource);
29
36
  }));
30
37
  });
31
- };
38
+ }
@@ -1,28 +1,28 @@
1
1
  const taskInfos = {
2
- replaceCopyright: {path: "./replaceCopyright"},
3
- replaceVersion: {path: "./replaceVersion"},
4
- replaceBuildtime: {path: "./replaceBuildtime"},
5
- escapeNonAsciiCharacters: {path: "./escapeNonAsciiCharacters"},
6
- executeJsdocSdkTransformation: {path: "./jsdoc/executeJsdocSdkTransformation"},
7
- generateApiIndex: {path: "./jsdoc/generateApiIndex"},
8
- generateJsdoc: {path: "./jsdoc/generateJsdoc"},
9
- minify: {path: "./minify"},
10
- buildThemes: {path: "./buildThemes"},
11
- transformBootstrapHtml: {path: "./transformBootstrapHtml"},
12
- generateLibraryManifest: {path: "./generateLibraryManifest"},
13
- generateVersionInfo: {path: "./generateVersionInfo"},
14
- generateManifestBundle: {path: "./bundlers/generateManifestBundle"},
15
- generateFlexChangesBundle: {path: "./bundlers/generateFlexChangesBundle"},
16
- generateComponentPreload: {path: "./bundlers/generateComponentPreload"},
17
- generateResourcesJson: {path: "./generateResourcesJson"},
18
- generateThemeDesignerResources: {path: "./generateThemeDesignerResources"},
19
- generateStandaloneAppBundle: {path: "./bundlers/generateStandaloneAppBundle"},
20
- generateBundle: {path: "./bundlers/generateBundle"},
21
- generateLibraryPreload: {path: "./bundlers/generateLibraryPreload"},
22
- generateCachebusterInfo: {path: "./generateCachebusterInfo"}
2
+ replaceCopyright: {path: "./replaceCopyright.js"},
3
+ replaceVersion: {path: "./replaceVersion.js"},
4
+ replaceBuildtime: {path: "./replaceBuildtime.js"},
5
+ escapeNonAsciiCharacters: {path: "./escapeNonAsciiCharacters.js"},
6
+ executeJsdocSdkTransformation: {path: "./jsdoc/executeJsdocSdkTransformation.js"},
7
+ generateApiIndex: {path: "./jsdoc/generateApiIndex.js"},
8
+ generateJsdoc: {path: "./jsdoc/generateJsdoc.js"},
9
+ minify: {path: "./minify.js"},
10
+ buildThemes: {path: "./buildThemes.js"},
11
+ transformBootstrapHtml: {path: "./transformBootstrapHtml.js"},
12
+ generateLibraryManifest: {path: "./generateLibraryManifest.js"},
13
+ generateVersionInfo: {path: "./generateVersionInfo.js"},
14
+ generateManifestBundle: {path: "./bundlers/generateManifestBundle.js"},
15
+ generateFlexChangesBundle: {path: "./bundlers/generateFlexChangesBundle.js"},
16
+ generateComponentPreload: {path: "./bundlers/generateComponentPreload.js"},
17
+ generateResourcesJson: {path: "./generateResourcesJson.js"},
18
+ generateThemeDesignerResources: {path: "./generateThemeDesignerResources.js"},
19
+ generateStandaloneAppBundle: {path: "./bundlers/generateStandaloneAppBundle.js"},
20
+ generateBundle: {path: "./bundlers/generateBundle.js"},
21
+ generateLibraryPreload: {path: "./bundlers/generateLibraryPreload.js"},
22
+ generateCachebusterInfo: {path: "./generateCachebusterInfo.js"}
23
23
  };
24
24
 
25
- function getTask(taskName) {
25
+ export async function getTask(taskName) {
26
26
  const taskInfo = taskInfos[taskName];
27
27
 
28
28
  if (!taskInfo) {
@@ -34,7 +34,7 @@ function getTask(taskName) {
34
34
  throw new Error(`taskRepository: Unknown Task ${taskName}`);
35
35
  }
36
36
  try {
37
- const task = require(taskInfo.path);
37
+ const {default: task} = await import(taskInfo.path);
38
38
  return {
39
39
  task
40
40
  };
@@ -43,11 +43,6 @@ function getTask(taskName) {
43
43
  }
44
44
  }
45
45
 
46
- function getAllTaskNames() {
46
+ export function getAllTaskNames() {
47
47
  return Object.keys(taskInfos);
48
48
  }
49
-
50
- module.exports = {
51
- getTask,
52
- getAllTaskNames
53
- };
@@ -1,5 +1,6 @@
1
- const log = require("@ui5/logger").getLogger("builder:tasks:transformBootstrapHtml");
2
- const bootstrapHtmlTransformer = require("../processors/bootstrapHtmlTransformer");
1
+ import logger from "@ui5/logger";
2
+ const log = logger.getLogger("builder:tasks:transformBootstrapHtml");
3
+ import bootstrapHtmlTransformer from "../processors/bootstrapHtmlTransformer.js";
3
4
 
4
5
  /* eslint "jsdoc/check-param-names": ["error", {"disableExtraPropertyReporting":true}] */
5
6
  /**
@@ -7,13 +8,13 @@ const bootstrapHtmlTransformer = require("../processors/bootstrapHtmlTransformer
7
8
  *
8
9
  * @module builder/tasks/transformBootstrapHtml
9
10
  * @param {object} parameters Parameters
10
- * @param {module:@ui5/fs.DuplexCollection} parameters.workspace DuplexCollection to read and write files
11
+ * @param {@ui5/fs/DuplexCollection} parameters.workspace DuplexCollection to read and write files
11
12
  * @param {object} parameters.options Options
12
13
  * @param {string} parameters.options.projectName Project name
13
14
  * @param {string} [parameters.options.namespace] Project namespace
14
15
  * @returns {Promise<undefined>} Promise resolving with <code>undefined</code> once data has been written
15
16
  */
16
- module.exports = async function({workspace, options}) {
17
+ export default async function({workspace, options}) {
17
18
  const {projectName} = options;
18
19
  // Backward compatibility: "namespace" option got renamed to "projectNamespace"
19
20
  const namespace = options.projectNamespace || options.namespace;
@@ -36,4 +37,4 @@ module.exports = async function({workspace, options}) {
36
37
  }
37
38
  });
38
39
  await Promise.all(processedResources.map((resource) => workspace.write(resource)));
39
- };
40
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/builder",
3
- "version": "3.0.0-alpha.10",
3
+ "version": "3.0.0-alpha.12",
4
4
  "description": "UI5 Tooling - Builder",
5
5
  "author": {
6
6
  "name": "SAP SE",
@@ -16,7 +16,17 @@
16
16
  "development",
17
17
  "tool"
18
18
  ],
19
- "main": "index.js",
19
+ "type": "module",
20
+ "exports": {
21
+ "./processors/*": "./lib/processors/*.js",
22
+ "./processors/jsdoc/lib/*": null,
23
+ "./tasks/*": "./lib/tasks/*.js",
24
+ "./tasks/taskRepository": null,
25
+ "./tasks/bundlers/utils/*": null,
26
+ "./package.json": "./package.json",
27
+ "./internal/taskRepository": "./lib/tasks/taskRepository.js",
28
+ "./internal/jsdoc/template/publish": "./lib/processors/jsdoc/lib/ui5/template/publish.cjs"
29
+ },
20
30
  "engines": {
21
31
  "node": ">= 16.13.2",
22
32
  "npm": ">= 8"
@@ -29,9 +39,9 @@
29
39
  "unit-verbose": "rimraf test/tmp && cross-env UI5_LOG_LVL=verbose ava --verbose --serial",
30
40
  "unit-watch": "rimraf test/tmp && ava --watch",
31
41
  "unit-nyan": "rimraf test/tmp && ava --tap | tnyan",
32
- "unit-xunit": "rimraf test/tmp && ava --tap --timeout=1m | tap-xunit --dontUseCommentsAsTestNames=true > test-results.xml",
42
+ "unit-xunit": "rimraf test/tmp && ava --node-arguments=\"--experimental-loader=@istanbuljs/esm-loader-hook\" --tap --timeout=1m | tap-xunit --dontUseCommentsAsTestNames=true > test-results.xml",
33
43
  "unit-inspect": "cross-env UI5_LOG_LVL=verbose ava debug --break",
34
- "coverage": "nyc npm run unit",
44
+ "coverage": "rimraf test/tmp && nyc ava --node-arguments=\"--experimental-loader=@istanbuljs/esm-loader-hook\"",
35
45
  "coverage-xunit": "nyc --reporter=text --reporter=text-summary --reporter=cobertura npm run unit-xunit",
36
46
  "jsdoc": "npm run jsdoc-generate && open-cli jsdocs/index.html",
37
47
  "jsdoc-generate": "jsdoc -c ./jsdoc.json -t $(node -p 'path.dirname(require.resolve(\"docdash\"))') ./lib/ || (echo 'Error during JSDoc generation! Check log.' && exit 1)",
@@ -40,10 +50,9 @@
40
50
  "version": "git-chglog --sort semver --next-tag v$npm_package_version -o CHANGELOG.md && git add CHANGELOG.md",
41
51
  "postversion": "git push --follow-tags",
42
52
  "release-note": "git-chglog --sort semver -c .chglog/release-config.yml v$npm_package_version",
43
- "depcheck": "depcheck --ignores docdash --ignore-patterns lib/processors/jsdoc/lib/ui5"
53
+ "depcheck": "depcheck --ignores @ui5/builder,docdash,@istanbuljs/esm-loader-hook,catharsis --parsers='**/*.js:es6,**/*.cjs:es6'"
44
54
  },
45
55
  "files": [
46
- "index.js",
47
56
  "CHANGELOG.md",
48
57
  "CONTRIBUTING.md",
49
58
  "jsdoc.json",
@@ -57,6 +66,10 @@
57
66
  ],
58
67
  "ignoredByWatcher": [
59
68
  "test/tmp/**"
69
+ ],
70
+ "nodeArguments": [
71
+ "--loader=esmock",
72
+ "--no-warnings"
60
73
  ]
61
74
  },
62
75
  "nyc": {
@@ -71,8 +84,8 @@
71
84
  "jsdocs/**",
72
85
  "coverage/**",
73
86
  "test/**",
74
- ".eslintrc.js",
75
- "jsdoc-plugin.js"
87
+ ".eslintrc.cjs",
88
+ "jsdoc-plugin.cjs"
76
89
  ],
77
90
  "check-coverage": true,
78
91
  "statements": 85,
@@ -106,11 +119,11 @@
106
119
  },
107
120
  "dependencies": {
108
121
  "@jridgewell/sourcemap-codec": "^1.4.14",
109
- "@ui5/fs": "^3.0.0-alpha.6",
110
- "@ui5/logger": "^3.0.1-alpha.2",
122
+ "@ui5/fs": "^3.0.0-alpha.7",
123
+ "@ui5/logger": "^3.0.1-alpha.3",
111
124
  "cheerio": "1.0.0-rc.9",
112
125
  "escape-unicode": "^0.2.0",
113
- "escope": "^3.6.0",
126
+ "escope": "^4.0.0",
114
127
  "espree": "^9.3.1",
115
128
  "graceful-fs": "^4.2.9",
116
129
  "jsdoc": "^3.6.7",
@@ -125,8 +138,9 @@
125
138
  "yazl": "^2.5.1"
126
139
  },
127
140
  "devDependencies": {
128
- "@ui5/project": "^3.0.0-alpha.7",
129
- "ava": "^3.15.0",
141
+ "@istanbuljs/esm-loader-hook": "^0.2.0",
142
+ "@ui5/project": "github:SAP/ui5-project#ed265ee31f06728a9ea6d35456feaeada1df42e2",
143
+ "ava": "^4.3.3",
130
144
  "chai": "^4.3.4",
131
145
  "chai-fs": "^2.0.0",
132
146
  "chokidar-cli": "^3.0.0",
@@ -135,13 +149,14 @@
135
149
  "docdash": "^1.2.0",
136
150
  "eslint": "^8.7.0",
137
151
  "eslint-config-google": "^0.14.0",
152
+ "eslint-plugin-ava": "^13.2.0",
138
153
  "eslint-plugin-jsdoc": "^37.6.3",
154
+ "esmock": "^2.0.1",
139
155
  "extract-zip": "^2.0.1",
140
- "mock-require": "^3.0.3",
141
156
  "nyc": "^15.1.0",
142
157
  "open-cli": "^6.0.1",
143
158
  "recursive-readdir": "^2.1.1",
144
- "sinon": "^11.1.2",
159
+ "sinon": "^14.0.0",
145
160
  "tap-nyan": "^1.1.0",
146
161
  "tap-xunit": "^2.4.1"
147
162
  }
package/index.js DELETED
@@ -1,173 +0,0 @@
1
- /**
2
- * @module @ui5/builder
3
- * @public
4
- */
5
- module.exports = {
6
- /**
7
- * @public
8
- * @alias module:@ui5/builder.processors
9
- * @namespace
10
- */
11
- processors: {
12
- /**
13
- * @type {import('./lib/processors/bundlers/flexChangesBundler')}
14
- */
15
- flexChangesBundler: "./lib/processors/bundlers/flexChangesBundler",
16
- /**
17
- * @type {import('./lib/processors/bundlers/manifestBundler')}
18
- */
19
- manifestBundler: "./lib/processors/bundlers/manifestBundler",
20
- /**
21
- * @type {import('./lib/processors/bundlers/moduleBundler')}
22
- */
23
- moduleBundler: "./lib/processors/bundlers/moduleBundler",
24
- /**
25
- * @type {import('./lib/processors/jsdoc/apiIndexGenerator')}
26
- */
27
- apiIndexGenerator: "./lib/processors/jsdoc/apiIndexGenerator",
28
- /**
29
- * @type {import('./lib/processors/jsdoc/jsdocGenerator')}
30
- */
31
- jsdocGenerator: "./lib/processors/jsdoc/jsdocGenerator",
32
- /**
33
- * @type {import('./lib/processors/jsdoc/sdkTransformer')}
34
- */
35
- sdkTransformer: "./lib/processors/jsdoc/sdkTransformer",
36
- /**
37
- * @type {import('./lib/processors/bootstrapHtmlTransformer')}
38
- */
39
- bootstrapHtmlTransformer: "./lib/processors/bootstrapHtmlTransformer",
40
- /**
41
- * @type {import('./lib/processors/minifier')}
42
- */
43
- minifier: "./lib/processors/minifier",
44
- /**
45
- * @type {import('./lib/processors/libraryLessGenerator')}
46
- */
47
- libraryLessGenerator: "./lib/processors/libraryLessGenerator",
48
- /**
49
- * @type {import('./lib/processors/manifestCreator')}
50
- */
51
- manifestCreator: "./lib/processors/manifestCreator",
52
- /**
53
- * @type {import('./lib/processors/nonAsciiEscaper')}
54
- */
55
- nonAsciiEscaper: "./lib/processors/nonAsciiEscaper",
56
- /**
57
- * @type {import('./lib/processors/stringReplacer')}
58
- */
59
- stringReplacer: "./lib/processors/stringReplacer",
60
- /**
61
- * @type {import('./lib/processors/themeBuilder')}
62
- */
63
- themeBuilder: "./lib/processors/themeBuilder",
64
- /**
65
- * @type {import('./lib/processors/versionInfoGenerator')}
66
- */
67
- versionInfoGenerator: "./lib/processors/versionInfoGenerator"
68
- },
69
- /**
70
- * @public
71
- * @alias module:@ui5/builder.tasks
72
- * @namespace
73
- */
74
- tasks: {
75
- /**
76
- * @type {import('./lib/tasks/bundlers/generateComponentPreload')}
77
- */
78
- generateComponentPreload: "./lib/tasks/bundlers/generateComponentPreload",
79
- /**
80
- * @type {import('./lib/tasks/bundlers/generateFlexChangesBundle')}
81
- */
82
- generateFlexChangesBundle: "./lib/tasks/bundlers/generateFlexChangesBundle",
83
- /**
84
- * @type {import('./lib/tasks/bundlers/generateLibraryPreload')}
85
- */
86
- generateLibraryPreload: "./lib/tasks/bundlers/generateLibraryPreload",
87
- /**
88
- * @type {import('./lib/tasks/bundlers/generateManifestBundle')}
89
- */
90
- generateManifestBundle: "./lib/tasks/bundlers/generateManifestBundle",
91
- /**
92
- * @type {import('./lib/tasks/bundlers/generateStandaloneAppBundle')}
93
- */
94
- generateStandaloneAppBundle: "./lib/tasks/bundlers/generateStandaloneAppBundle",
95
- /**
96
- * @type {import('./lib/tasks/generateThemeDesignerResources')}
97
- */
98
- generateThemeDesignerResources: "./lib/tasks/generateThemeDesignerResources",
99
- /**
100
- * @type {import('./lib/tasks/bundlers/generateBundle')}
101
- */
102
- generateBundle: "./lib/tasks/bundlers/generateBundle",
103
- /**
104
- * @type {import('./lib/tasks/generateCachebusterInfo')}
105
- */
106
- generateCachebusterInfo: "./lib/tasks/generateCachebusterInfo",
107
- /**
108
- * @type {import('./lib/tasks/buildThemes')}
109
- */
110
- buildThemes: "./lib/tasks/buildThemes",
111
- /**
112
- * @type {import('./lib/tasks/minify')}
113
- */
114
- minify: "./lib/tasks/minify",
115
- /**
116
- * @type {import('./lib/tasks/jsdoc/executeJsdocSdkTransformation')}
117
- */
118
- executeJsdocSdkTransformation: "./lib/tasks/jsdoc/executeJsdocSdkTransformation",
119
- /**
120
- * @type {import('./lib/tasks/jsdoc/generateApiIndex')}
121
- */
122
- generateApiIndex: "./lib/tasks/jsdoc/generateApiIndex",
123
- /**
124
- * @type {import('./lib/tasks/jsdoc/generateJsdoc')}
125
- */
126
- generateJsdoc: "./lib/tasks/jsdoc/generateJsdoc",
127
- /**
128
- * @type {import('./lib/tasks/generateVersionInfo')}
129
- */
130
- generateVersionInfo: "./lib/tasks/generateVersionInfo",
131
- /**
132
- * @type {import('./lib/tasks/escapeNonAsciiCharacters')}
133
- */
134
- escapeNonAsciiCharacters: "./lib/tasks/escapeNonAsciiCharacters",
135
- /**
136
- * @type {import('./lib/tasks/replaceCopyright')}
137
- */
138
- replaceCopyright: "./lib/tasks/replaceCopyright",
139
- /**
140
- * @type {import('./lib/tasks/replaceVersion')}
141
- */
142
- replaceVersion: "./lib/tasks/replaceVersion",
143
- /**
144
- * @type {import('./lib/tasks/replaceBuildtime')}
145
- */
146
- replaceBuildtime: "./lib/tasks/replaceBuildtime",
147
- /**
148
- * @type {import('./lib/tasks/transformBootstrapHtml')}
149
- */
150
- transformBootstrapHtml: "./lib/tasks/transformBootstrapHtml",
151
- /**
152
- * @type {import('./lib/tasks/taskRepository')}
153
- */
154
- taskRepository: "./lib/tasks/taskRepository",
155
- }
156
- };
157
-
158
- function exportModules(exportRoot, modulePaths) {
159
- for (const moduleName of Object.keys(modulePaths)) {
160
- if (typeof modulePaths[moduleName] === "object") {
161
- exportRoot[moduleName] = {};
162
- exportModules(exportRoot[moduleName], modulePaths[moduleName]);
163
- } else {
164
- Object.defineProperty(exportRoot, moduleName, {
165
- get() {
166
- return require(modulePaths[moduleName]);
167
- }
168
- });
169
- }
170
- }
171
- }
172
-
173
- exportModules(module.exports, JSON.parse(JSON.stringify(module.exports)));