@ui5/builder 4.1.3 → 5.0.0-alpha.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.
- package/CHANGELOG.md +12 -23
- package/README.md +6 -16
- package/lib/lbt/bundle/Resolver.js +1 -2
- package/lib/processors/jsdoc/lib/transformApiJson.js +1 -1
- package/lib/processors/manifestCreator.js +1 -8
- package/lib/processors/manifestEnhancer.js +0 -6
- package/lib/tasks/bundlers/generateLibraryPreload.js +36 -202
- package/package.json +17 -37
- package/CONTRIBUTING.md +0 -3
- package/jsdoc.json +0 -67
package/CHANGELOG.md
CHANGED
|
@@ -2,31 +2,25 @@
|
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
4
4
|
|
|
5
|
-
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-builder/compare/v4.
|
|
5
|
+
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-builder/compare/v4.0.11...HEAD).
|
|
6
6
|
|
|
7
|
-
<a name="
|
|
8
|
-
## [
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
- **Bundling:** generateFlexChangesBundle should not rely on existing manifest.json ([#1178](https://github.com/SAP/ui5-builder/issues/1178)) [`f61705b`](https://github.com/SAP/ui5-builder/commit/f61705bcd03b1033afed7d4243647eee60f2faa1)
|
|
7
|
+
<a name="5.0.0-alpha.0"></a>
|
|
8
|
+
## [5.0.0-alpha.0](https://github.com/UI5/cli/compare/builder-v4.0.11...builder-v5.0.0-alpha.0) (2025-11-25)
|
|
11
9
|
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
## [v4.1.2] - 2025-11-14
|
|
11
|
+
### Breaking Changes
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
## [v4.1.1] - 2025-10-30
|
|
13
|
+
* **builder:** Require Node.js 22.20.0 || >= 24.0.0
|
|
18
14
|
|
|
19
|
-
<a name="v4.1.0"></a>
|
|
20
|
-
## [v4.1.0] - 2025-10-23
|
|
21
|
-
### Features
|
|
22
|
-
- Enhance generateFlexChangeBundle task to add new 'flexBundle' property to the manifest.json ([#1164](https://github.com/SAP/ui5-builder/issues/1164)) [`a48e474`](https://github.com/SAP/ui5-builder/commit/a48e474b1bfb9f2f11da44e908341af370711309)
|
|
23
15
|
|
|
16
|
+
### Dependencies
|
|
24
17
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
* The following workspace dependencies were updated
|
|
19
|
+
* dependencies
|
|
20
|
+
* @ui5/fs bumped from ^4.0.2 to ^5.0.0-alpha.0
|
|
21
|
+
* @ui5/logger bumped from ^4.0.2 to ^5.0.0-alpha.0
|
|
22
|
+
* devDependencies
|
|
23
|
+
* @ui5/project bumped from ^4.0.6 to ^5.0.0-alpha.0
|
|
30
24
|
|
|
31
25
|
<a name="v4.0.11"></a>
|
|
32
26
|
## [v4.0.11] - 2025-09-11
|
|
@@ -1010,11 +1004,6 @@ to load the custom bundle file instead.
|
|
|
1010
1004
|
|
|
1011
1005
|
### Features
|
|
1012
1006
|
- Add ability to configure component preloads and custom bundles [`2241e5f`](https://github.com/SAP/ui5-builder/commit/2241e5ff98fd95f1f80cc74959655ae7a9c660e7)
|
|
1013
|
-
[v4.1.3]: https://github.com/SAP/ui5-builder/compare/v4.1.2...v4.1.3
|
|
1014
|
-
[v4.1.2]: https://github.com/SAP/ui5-builder/compare/v4.1.1...v4.1.2
|
|
1015
|
-
[v4.1.1]: https://github.com/SAP/ui5-builder/compare/v4.1.0...v4.1.1
|
|
1016
|
-
[v4.1.0]: https://github.com/SAP/ui5-builder/compare/v4.0.13...v4.1.0
|
|
1017
|
-
[v4.0.13]: https://github.com/SAP/ui5-builder/compare/v4.0.11...v4.0.13
|
|
1018
1007
|
[v4.0.11]: https://github.com/SAP/ui5-builder/compare/v4.0.10...v4.0.11
|
|
1019
1008
|
[v4.0.10]: https://github.com/SAP/ui5-builder/compare/v4.0.9...v4.0.10
|
|
1020
1009
|
[v4.0.9]: https://github.com/SAP/ui5-builder/compare/v4.0.8...v4.0.9
|
package/README.md
CHANGED
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
|
-
# ui5
|
|
4
|
-
|
|
5
|
-
> ⚠️ **REPOSITORY MOVED**
|
|
6
|
-
>
|
|
7
|
-
> The `@ui5/builder` package is now maintained in the [UI5 CLI monorepo](https://github.com/UI5/cli). This repository contains the code up to and including CLI version 4, with further development continuing in the monorepo.
|
|
8
|
-
>
|
|
9
|
-
> - **New location**: https://github.com/UI5/cli/tree/main/packages/builder
|
|
10
|
-
> - **Issues & PRs**: Please submit to the [monorepo](https://github.com/UI5/cli/issues)
|
|
11
|
-
> - **Latest releases**: Available from the monorepo
|
|
12
|
-
|
|
3
|
+
# @ui5/builder
|
|
13
4
|
> Modules for building UI5 projects
|
|
14
5
|
> Part of the [UI5 CLI](https://github.com/UI5/cli)
|
|
15
6
|
|
|
16
|
-
[](https://dev.azure.com/sap/opensource/_build/latest?definitionId=26&branchName=v4)
|
|
7
|
+
[](https://api.reuse.software/info/github.com/UI5/cli)
|
|
18
8
|
[](https://www.npmjs.com/package/@ui5/builder)
|
|
19
9
|
[](https://coveralls.io/github/SAP/ui5-builder)
|
|
20
10
|
|
|
21
11
|
## Documentation
|
|
22
|
-
UI5 Builder documentation can be found here: [ui5.github.io/cli](https://ui5.github.io/cli/
|
|
12
|
+
UI5 Builder documentation can be found here: [ui5.github.io/cli](https://ui5.github.io/cli/stable/pages/Builder/)
|
|
23
13
|
|
|
24
|
-
The UI5 Builder API Reference can be found here: [`@ui5/builder`](https://ui5.github.io/cli/
|
|
14
|
+
The UI5 Builder API Reference can be found here: [`@ui5/builder`](https://ui5.github.io/cli/stable/api/)
|
|
25
15
|
|
|
26
16
|
## Contributing
|
|
27
|
-
Please check our [Contribution Guidelines](https://github.com/UI5/cli/blob/
|
|
17
|
+
Please check our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md).
|
|
28
18
|
|
|
29
19
|
## Support
|
|
30
|
-
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/
|
|
20
|
+
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#report-an-issue) on how to report an issue.
|
|
31
21
|
|
|
32
22
|
Please report issues in the main [UI5 CLI](https://github.com/UI5/cli) repository.
|
|
33
23
|
|
|
@@ -56,7 +56,6 @@ class BundleResolver {
|
|
|
56
56
|
* in the resource pool.
|
|
57
57
|
*/
|
|
58
58
|
const missingModules = Object.create(null);
|
|
59
|
-
const ignoreMissingModules = pool.getIgnoreMissingModules();
|
|
60
59
|
/**
|
|
61
60
|
* Names of modules that are included in non-decomposable bundles.
|
|
62
61
|
* If they occur in the missingModules, then this is not an error.
|
|
@@ -124,7 +123,7 @@ class BundleResolver {
|
|
|
124
123
|
done = pool.findResourceWithInfo(resourceName)
|
|
125
124
|
.catch( (err) => {
|
|
126
125
|
// if the caller provided an error message, log it
|
|
127
|
-
if ( msg
|
|
126
|
+
if ( msg ) {
|
|
128
127
|
missingModules[resourceName] ??= [];
|
|
129
128
|
missingModules[resourceName].push(msg);
|
|
130
129
|
}
|
|
@@ -657,7 +657,7 @@ function transformer(sInputFile, sOutputFile, sLibraryFile, vDependencyAPIFiles,
|
|
|
657
657
|
Object.keys(aParams).forEach((sParam) => {
|
|
658
658
|
const sSince = aParams[sParam].since;
|
|
659
659
|
const oDeprecated = aParams[sParam].deprecated;
|
|
660
|
-
const oEvtInSymbol = oSymbol.events
|
|
660
|
+
const oEvtInSymbol = oSymbol.events.find((e) => e.name === oEvent.name);
|
|
661
661
|
const oParamInSymbol = oEvtInSymbol && oEvtInSymbol.parameters[0] &&
|
|
662
662
|
oEvtInSymbol.parameters[0].parameterProperties &&
|
|
663
663
|
oEvtInSymbol.parameters[0].parameterProperties.getParameters &&
|
|
@@ -491,18 +491,11 @@ async function createManifest(
|
|
|
491
491
|
}
|
|
492
492
|
}
|
|
493
493
|
|
|
494
|
-
|
|
494
|
+
return {
|
|
495
495
|
i18n: i18n(),
|
|
496
496
|
css: css(),
|
|
497
497
|
content: content()
|
|
498
498
|
};
|
|
499
|
-
|
|
500
|
-
if (process.env.UI5_CLI_EXPERIMENTAL_BUNDLE_INFO_PRELOAD) {
|
|
501
|
-
// Add flag indicating that the (currently experimental) bundleVersion 2 preload bundling is used
|
|
502
|
-
libraryMetadata.bundleVersion = 2;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
return libraryMetadata;
|
|
506
499
|
}
|
|
507
500
|
|
|
508
501
|
const sapUI5 = {
|
|
@@ -441,12 +441,6 @@ class ManifestEnhancer {
|
|
|
441
441
|
|
|
442
442
|
if (this.manifest["sap.app"].type === "library") {
|
|
443
443
|
await this.processSapUi5LibraryI18n();
|
|
444
|
-
|
|
445
|
-
if (process.env.UI5_CLI_EXPERIMENTAL_BUNDLE_INFO_PRELOAD) {
|
|
446
|
-
// Add flag indicating that the (currently experimental) bundleVersion 2 preload bundling is used
|
|
447
|
-
this.manifest["sap.ui5"].library ??= {};
|
|
448
|
-
this.manifest["sap.ui5"].library.bundleVersion = 2;
|
|
449
|
-
}
|
|
450
444
|
} else {
|
|
451
445
|
await Promise.all([
|
|
452
446
|
this.processSapAppI18n(),
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import semver from "semver";
|
|
2
1
|
import {getLogger} from "@ui5/logger";
|
|
3
2
|
const log = getLogger("builder:tasks:bundlers:generateLibraryPreload");
|
|
4
3
|
import moduleBundler from "../../processors/bundlers/moduleBundler.js";
|
|
@@ -33,32 +32,6 @@ function getDefaultLibraryPreloadFilters(namespace, excludes) {
|
|
|
33
32
|
return filters;
|
|
34
33
|
}
|
|
35
34
|
|
|
36
|
-
function getExperimentalDefaultLibraryPreloadFilters(namespace, excludes) {
|
|
37
|
-
const filters = [
|
|
38
|
-
`${namespace}/library.js`,
|
|
39
|
-
`!${namespace}/**/*-preload.js`, // exclude all bundles
|
|
40
|
-
`!${namespace}/designtime/`,
|
|
41
|
-
`!${namespace}/**/*.designtime.js`,
|
|
42
|
-
`!${namespace}/**/*.support.js`
|
|
43
|
-
];
|
|
44
|
-
|
|
45
|
-
if (Array.isArray(excludes)) {
|
|
46
|
-
const allFilterExcludes = negateFilters(excludes);
|
|
47
|
-
// Add configured excludes at the end of filter list
|
|
48
|
-
allFilterExcludes.forEach((filterExclude) => {
|
|
49
|
-
// Allow all excludes (!) and limit re-includes (+) to the library namespace
|
|
50
|
-
if (filterExclude.startsWith("!") || filterExclude.startsWith(`+${namespace}/`)) {
|
|
51
|
-
filters.push(filterExclude);
|
|
52
|
-
} else {
|
|
53
|
-
log.warn(`Configured preload exclude contains invalid re-include: !${filterExclude.substr(1)}. ` +
|
|
54
|
-
`Re-includes must start with the library's namespace ${namespace}`);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return filters;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
35
|
function getBundleDefinition(namespace, excludes) {
|
|
63
36
|
// Note: This configuration is only used when no bundle definition in ui5.yaml exists (see "skipBundles" parameter)
|
|
64
37
|
|
|
@@ -133,69 +106,6 @@ function getBundleDefinition(namespace, excludes) {
|
|
|
133
106
|
};
|
|
134
107
|
}
|
|
135
108
|
|
|
136
|
-
function getBundleInfoPreloadDefinition(namespace, excludes, coreVersion) {
|
|
137
|
-
const sections = [{
|
|
138
|
-
mode: "preload",
|
|
139
|
-
filters: getExperimentalDefaultLibraryPreloadFilters(namespace, excludes),
|
|
140
|
-
resolve: true
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
mode: "bundleInfo",
|
|
144
|
-
name: `${namespace}/_library-content.js`,
|
|
145
|
-
filters: getDefaultLibraryPreloadFilters(namespace, excludes),
|
|
146
|
-
resolve: false,
|
|
147
|
-
resolveConditional: false,
|
|
148
|
-
renderer: true
|
|
149
|
-
}];
|
|
150
|
-
|
|
151
|
-
if (coreVersion) {
|
|
152
|
-
const parsedVersion = semver.parse(coreVersion);
|
|
153
|
-
let targetUi5CoreVersionMajor = parsedVersion.major;
|
|
154
|
-
|
|
155
|
-
// legacy-free versions include changes of the upcoming major version
|
|
156
|
-
// so we should treat them the same as the next major version
|
|
157
|
-
if (
|
|
158
|
-
parsedVersion.prerelease.includes("legacy-free") ||
|
|
159
|
-
parsedVersion.prerelease.includes("legacy-free-SNAPSHOT") // Maven snapshot version
|
|
160
|
-
) {
|
|
161
|
-
targetUi5CoreVersionMajor += 1;
|
|
162
|
-
}
|
|
163
|
-
if (parsedVersion) {
|
|
164
|
-
if (targetUi5CoreVersionMajor >= 2) {
|
|
165
|
-
// Do not include manifest.json in UI5 2.x and higher to allow for loading it upfront for all libraries
|
|
166
|
-
sections.unshift({
|
|
167
|
-
mode: "provided",
|
|
168
|
-
filters: [
|
|
169
|
-
`${namespace}/manifest.json`,
|
|
170
|
-
]
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
return {
|
|
177
|
-
name: `${namespace}/library-preload.js`,
|
|
178
|
-
sections,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
function getContentBundleDefinition(namespace, excludes) {
|
|
183
|
-
return {
|
|
184
|
-
name: `${namespace}/_library-content.js`,
|
|
185
|
-
sections: [{
|
|
186
|
-
mode: "provided",
|
|
187
|
-
filters: getExperimentalDefaultLibraryPreloadFilters(namespace, excludes),
|
|
188
|
-
resolve: true
|
|
189
|
-
}, {
|
|
190
|
-
mode: "preload",
|
|
191
|
-
filters: getDefaultLibraryPreloadFilters(namespace, excludes),
|
|
192
|
-
resolve: false,
|
|
193
|
-
resolveConditional: false,
|
|
194
|
-
renderer: true
|
|
195
|
-
}]
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
|
|
199
109
|
function getDesigntimeBundleDefinition(namespace) {
|
|
200
110
|
return {
|
|
201
111
|
name: `${namespace}/designtime/library-preload.designtime.js`,
|
|
@@ -348,7 +258,6 @@ export default async function({workspace, taskUtil, options: {skipBundles = [],
|
|
|
348
258
|
}
|
|
349
259
|
const coreVersion = taskUtil?.getProject("sap.ui.core")?.getVersion();
|
|
350
260
|
const allowStringBundling = taskUtil?.getProject().getSpecVersion().lt("4.0");
|
|
351
|
-
const createBundleInfoPreload = !!process.env.UI5_CLI_EXPERIMENTAL_BUNDLE_INFO_PRELOAD;
|
|
352
261
|
const execModuleBundlerIfNeeded = ({options, resources}) => {
|
|
353
262
|
if (skipBundles.includes(options.bundleDefinition.name)) {
|
|
354
263
|
log.verbose(`Skipping generation of bundle ${options.bundleDefinition.name}`);
|
|
@@ -481,117 +390,42 @@ export default async function({workspace, taskUtil, options: {skipBundles = [],
|
|
|
481
390
|
const libraryNamespaceMatch = libraryIndicatorPath.match(libraryNamespacePattern);
|
|
482
391
|
if (libraryNamespaceMatch && libraryNamespaceMatch[1]) {
|
|
483
392
|
const libraryNamespace = libraryNamespaceMatch[1];
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
resources
|
|
521
|
-
})
|
|
522
|
-
]);
|
|
523
|
-
} else {
|
|
524
|
-
log.info(
|
|
525
|
-
`Using experimental bundling with bundle info preload ` +
|
|
526
|
-
`for library ${libraryNamespace} in project ${projectName}`);
|
|
527
|
-
log.info(`Detected sap.ui.core version is ${coreVersion || "unknown"}`);
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
if (skipBundles.includes(`${libraryNamespace}/library-preload.js`) &&
|
|
531
|
-
!skipBundles.includes(`${libraryNamespace}/_library-content.js`)) {
|
|
532
|
-
// If the standard preload bundle is skipped, ensure to also skip the content bundle,
|
|
533
|
-
// since they depend on each other
|
|
534
|
-
skipBundles.push(`${libraryNamespace}/_library-content.js`);
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
if (skipBundles.includes(`${libraryNamespace}/_library-content.js`) &&
|
|
538
|
-
!skipBundles.includes(`${libraryNamespace}/library-preload.js`)) {
|
|
539
|
-
// If the content bundle is skipped, the default preload bundle must be skipped as well
|
|
540
|
-
throw new Error(
|
|
541
|
-
`A custom bundle '${libraryNamespace}/_library-content.js' has been defined, ` +
|
|
542
|
-
`but it also requires a corresponding custom bundle definition for ` +
|
|
543
|
-
`'${libraryNamespace}/library-preload.js'`);
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
// Experimental bundling with bundle info preload
|
|
547
|
-
results = await Promise.all([
|
|
548
|
-
execModuleBundlerIfNeeded({
|
|
549
|
-
options: {
|
|
550
|
-
bundleDefinition:
|
|
551
|
-
getBundleInfoPreloadDefinition(libraryNamespace, excludes, coreVersion),
|
|
552
|
-
bundleOptions: {
|
|
553
|
-
optimize: true,
|
|
554
|
-
ignoreMissingModules: true
|
|
555
|
-
}
|
|
556
|
-
},
|
|
557
|
-
resources
|
|
558
|
-
}),
|
|
559
|
-
execModuleBundlerIfNeeded({
|
|
560
|
-
options: {
|
|
561
|
-
bundleDefinition: getContentBundleDefinition(libraryNamespace, excludes),
|
|
562
|
-
bundleOptions: {
|
|
563
|
-
optimize: true,
|
|
564
|
-
ignoreMissingModules: true
|
|
565
|
-
}
|
|
566
|
-
},
|
|
567
|
-
resources
|
|
568
|
-
}),
|
|
569
|
-
execModuleBundlerIfNeeded({
|
|
570
|
-
options: {
|
|
571
|
-
bundleDefinition: getDesigntimeBundleDefinition(libraryNamespace),
|
|
572
|
-
bundleOptions: {
|
|
573
|
-
optimize: true,
|
|
574
|
-
ignoreMissingModules: true,
|
|
575
|
-
skipIfEmpty: true
|
|
576
|
-
}
|
|
577
|
-
},
|
|
578
|
-
resources
|
|
579
|
-
}),
|
|
580
|
-
execModuleBundlerIfNeeded({
|
|
581
|
-
options: {
|
|
582
|
-
bundleDefinition: getSupportFilesBundleDefinition(libraryNamespace),
|
|
583
|
-
bundleOptions: {
|
|
584
|
-
optimize: false,
|
|
585
|
-
ignoreMissingModules: true,
|
|
586
|
-
skipIfEmpty: true
|
|
587
|
-
}
|
|
588
|
-
// Note: Although the bundle uses optimize=false, there is
|
|
589
|
-
// no moduleNameMapping needed, as support files are excluded from minification.
|
|
590
|
-
},
|
|
591
|
-
resources
|
|
592
|
-
})
|
|
593
|
-
]);
|
|
594
|
-
}
|
|
393
|
+
const results = await Promise.all([
|
|
394
|
+
execModuleBundlerIfNeeded({
|
|
395
|
+
options: {
|
|
396
|
+
bundleDefinition: getBundleDefinition(libraryNamespace, excludes),
|
|
397
|
+
bundleOptions: {
|
|
398
|
+
optimize: true,
|
|
399
|
+
ignoreMissingModules: true
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
resources
|
|
403
|
+
}),
|
|
404
|
+
execModuleBundlerIfNeeded({
|
|
405
|
+
options: {
|
|
406
|
+
bundleDefinition: getDesigntimeBundleDefinition(libraryNamespace),
|
|
407
|
+
bundleOptions: {
|
|
408
|
+
optimize: true,
|
|
409
|
+
ignoreMissingModules: true,
|
|
410
|
+
skipIfEmpty: true
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
resources
|
|
414
|
+
}),
|
|
415
|
+
execModuleBundlerIfNeeded({
|
|
416
|
+
options: {
|
|
417
|
+
bundleDefinition: getSupportFilesBundleDefinition(libraryNamespace),
|
|
418
|
+
bundleOptions: {
|
|
419
|
+
optimize: false,
|
|
420
|
+
ignoreMissingModules: true,
|
|
421
|
+
skipIfEmpty: true
|
|
422
|
+
}
|
|
423
|
+
// Note: Although the bundle uses optimize=false, there is
|
|
424
|
+
// no moduleNameMapping needed, as support files are excluded from minification.
|
|
425
|
+
},
|
|
426
|
+
resources
|
|
427
|
+
})
|
|
428
|
+
]);
|
|
595
429
|
const bundles = Array.prototype.concat.apply([], results).filter(Boolean);
|
|
596
430
|
return Promise.all(bundles.map(({bundle, sourceMap} = {}) => {
|
|
597
431
|
if (bundle) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui5/builder",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-alpha.0",
|
|
4
4
|
"description": "UI5 CLI - Builder",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SAP SE",
|
|
@@ -29,36 +29,27 @@
|
|
|
29
29
|
"./internal/jsdoc/template/publish": "./lib/processors/jsdoc/lib/ui5/template/publish.js"
|
|
30
30
|
},
|
|
31
31
|
"engines": {
|
|
32
|
-
"node": "^20.
|
|
32
|
+
"node": "^22.20.0 || >=24.0.0",
|
|
33
33
|
"npm": ">= 8"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
|
-
"test": "npm run lint && npm run
|
|
37
|
-
"test-azure": "npm run coverage-xunit",
|
|
36
|
+
"test": "npm run lint && npm run coverage && npm run depcheck",
|
|
38
37
|
"lint": "eslint ./",
|
|
39
38
|
"unit": "rimraf test/tmp && ava",
|
|
40
39
|
"unit-verbose": "rimraf test/tmp && cross-env UI5_LOG_LVL=verbose ava --verbose --serial",
|
|
41
40
|
"unit-watch": "rimraf test/tmp && ava --watch",
|
|
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",
|
|
43
41
|
"unit-inspect": "cross-env UI5_LOG_LVL=verbose ava debug --break",
|
|
44
42
|
"coverage": "rimraf test/tmp && nyc ava --node-arguments=\"--experimental-loader=@istanbuljs/esm-loader-hook\"",
|
|
45
|
-
"coverage-xunit": "nyc --reporter=text --reporter=text-summary --reporter=cobertura npm run unit-xunit",
|
|
46
|
-
"jsdoc": "npm run jsdoc-generate && open-cli jsdocs/index.html",
|
|
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)",
|
|
48
|
-
"jsdoc-watch": "npm run jsdoc && chokidar \"./lib/**/*.js\" -c \"npm run jsdoc-generate\"",
|
|
49
43
|
"preversion": "npm test",
|
|
50
44
|
"version": "git-chglog --sort semver --next-tag v$npm_package_version -o CHANGELOG.md v4.0.0.. && git add CHANGELOG.md",
|
|
51
45
|
"prepublishOnly": "git push --follow-tags",
|
|
52
46
|
"release-note": "git-chglog --sort semver -c .chglog/release-config.yml v$npm_package_version",
|
|
53
|
-
"depcheck": "depcheck --ignores @ui5/builder
|
|
47
|
+
"depcheck": "depcheck --ignores @ui5/builder,@istanbuljs/esm-loader-hook,catharsis,rimraf,jsdoc --parsers='**/*.js:es6,**/*.cjs:es6'"
|
|
54
48
|
},
|
|
55
49
|
"files": [
|
|
56
50
|
"CHANGELOG.md",
|
|
57
|
-
"CONTRIBUTING.md",
|
|
58
|
-
"jsdoc.json",
|
|
59
51
|
"lib/**",
|
|
60
|
-
"LICENSES/**"
|
|
61
|
-
".reuse/**"
|
|
52
|
+
"LICENSES/**"
|
|
62
53
|
],
|
|
63
54
|
"ava": {
|
|
64
55
|
"files": [
|
|
@@ -84,11 +75,8 @@
|
|
|
84
75
|
"exclude": [
|
|
85
76
|
"lib/processors/jsdoc/lib/**",
|
|
86
77
|
"docs/**",
|
|
87
|
-
"jsdocs/**",
|
|
88
78
|
"coverage/**",
|
|
89
|
-
"test/**"
|
|
90
|
-
".eslintrc.cjs",
|
|
91
|
-
"jsdoc-plugin.cjs"
|
|
79
|
+
"test/**"
|
|
92
80
|
],
|
|
93
81
|
"check-coverage": true,
|
|
94
82
|
"statements": 85,
|
|
@@ -118,46 +106,38 @@
|
|
|
118
106
|
},
|
|
119
107
|
"repository": {
|
|
120
108
|
"type": "git",
|
|
121
|
-
"url": "git@github.com:
|
|
109
|
+
"url": "git@github.com:UI5/cli.git",
|
|
110
|
+
"directory": "packages/builder"
|
|
122
111
|
},
|
|
123
112
|
"dependencies": {
|
|
124
113
|
"@jridgewell/sourcemap-codec": "^1.5.5",
|
|
125
|
-
"@ui5/fs": "^
|
|
126
|
-
"@ui5/logger": "^
|
|
114
|
+
"@ui5/fs": "^5.0.0-alpha.0",
|
|
115
|
+
"@ui5/logger": "^5.0.0-alpha.0",
|
|
127
116
|
"cheerio": "1.0.0",
|
|
128
117
|
"escape-unicode": "^0.2.0",
|
|
129
118
|
"escope": "^4.0.0",
|
|
130
119
|
"espree": "^10.4.0",
|
|
131
120
|
"graceful-fs": "^4.2.11",
|
|
132
|
-
"jsdoc": "^4.0.
|
|
121
|
+
"jsdoc": "^4.0.4",
|
|
133
122
|
"less-openui5": "^0.11.6",
|
|
134
123
|
"pretty-data": "^0.40.0",
|
|
135
|
-
"semver": "^7.7.
|
|
136
|
-
"terser": "^5.44.
|
|
124
|
+
"semver": "^7.7.2",
|
|
125
|
+
"terser": "^5.44.0",
|
|
137
126
|
"workerpool": "^9.3.4",
|
|
138
127
|
"xml2js": "^0.6.2"
|
|
139
128
|
},
|
|
140
129
|
"devDependencies": {
|
|
141
|
-
"@eslint/js": "^9.14.0",
|
|
142
130
|
"@istanbuljs/esm-loader-hook": "^0.3.0",
|
|
143
131
|
"@jridgewell/trace-mapping": "^0.3.31",
|
|
144
|
-
"@ui5/project": "^
|
|
132
|
+
"@ui5/project": "^5.0.0-alpha.0",
|
|
145
133
|
"ava": "^6.4.1",
|
|
146
|
-
"chokidar-cli": "^3.0.0",
|
|
147
134
|
"cross-env": "^7.0.3",
|
|
148
135
|
"depcheck": "^1.4.7",
|
|
149
|
-
"
|
|
150
|
-
"eslint": "^9.39.1",
|
|
151
|
-
"eslint-config-google": "^0.14.0",
|
|
152
|
-
"eslint-plugin-ava": "^15.1.0",
|
|
153
|
-
"eslint-plugin-jsdoc": "^52.0.4",
|
|
136
|
+
"eslint": "^9.36.0",
|
|
154
137
|
"esmock": "^2.7.3",
|
|
155
|
-
"globals": "^16.5.0",
|
|
156
138
|
"line-column": "^1.0.2",
|
|
157
139
|
"nyc": "^17.1.0",
|
|
158
|
-
"
|
|
159
|
-
"
|
|
160
|
-
"sinon": "^21.0.0",
|
|
161
|
-
"tap-xunit": "^2.4.1"
|
|
140
|
+
"rimraf": "^6.0.1",
|
|
141
|
+
"sinon": "^21.0.0"
|
|
162
142
|
}
|
|
163
143
|
}
|
package/CONTRIBUTING.md
DELETED
package/jsdoc.json
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tags": {
|
|
3
|
-
"allowUnknownTags": false
|
|
4
|
-
},
|
|
5
|
-
"source": {
|
|
6
|
-
"include": ["README.md"],
|
|
7
|
-
"exclude": [
|
|
8
|
-
"lib/lbt/utils/JSTokenizer.js",
|
|
9
|
-
"lib/processors/jsdoc/lib/ui5/plugin.js",
|
|
10
|
-
"lib/processors/jsdoc/lib/ui5/template/publish.js",
|
|
11
|
-
"lib/processors/jsdoc/lib/ui5/template/utils/versionUtil.js"
|
|
12
|
-
],
|
|
13
|
-
"includePattern": ".+\\.js$",
|
|
14
|
-
"excludePattern": "(node_modules(\\\\|/))"
|
|
15
|
-
},
|
|
16
|
-
"plugins": [
|
|
17
|
-
"./jsdoc-plugin.cjs"
|
|
18
|
-
],
|
|
19
|
-
"opts": {
|
|
20
|
-
"encoding": "utf8",
|
|
21
|
-
"destination": "jsdocs/",
|
|
22
|
-
"recurse": true,
|
|
23
|
-
"verbose": true,
|
|
24
|
-
"access": "public"
|
|
25
|
-
},
|
|
26
|
-
"templates": {
|
|
27
|
-
"cleverLinks": false,
|
|
28
|
-
"monospaceLinks": false,
|
|
29
|
-
"default": {
|
|
30
|
-
"useLongnameInNav": true
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
"openGraph": {
|
|
34
|
-
"title": "UI5 CLI - API Reference",
|
|
35
|
-
"type": "website",
|
|
36
|
-
"image": "https://ui5.github.io/cli/v4/images/UI5_logo_wide.png",
|
|
37
|
-
"site_name": "UI5 CLI - API Reference",
|
|
38
|
-
"url": "https://ui5.github.io/cli/"
|
|
39
|
-
},
|
|
40
|
-
"docdash": {
|
|
41
|
-
"sectionOrder": [
|
|
42
|
-
"Modules",
|
|
43
|
-
"Namespaces",
|
|
44
|
-
"Classes",
|
|
45
|
-
"Externals",
|
|
46
|
-
"Events",
|
|
47
|
-
"Mixins",
|
|
48
|
-
"Tutorials",
|
|
49
|
-
"Interfaces"
|
|
50
|
-
],
|
|
51
|
-
"meta": {
|
|
52
|
-
"title": "UI5 CLI - API Reference - UI5 Builder",
|
|
53
|
-
"description": "UI5 CLI - API Reference - UI5 Builder",
|
|
54
|
-
"keyword": "openui5 sapui5 ui5 build development tool api reference"
|
|
55
|
-
},
|
|
56
|
-
"search": true,
|
|
57
|
-
"wrap": true,
|
|
58
|
-
"menu": {
|
|
59
|
-
"GitHub": {
|
|
60
|
-
"href": "https://github.com/SAP/ui5-builder",
|
|
61
|
-
"target": "_blank",
|
|
62
|
-
"class": "menu-item",
|
|
63
|
-
"id": "github_link"
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|