@ui5/create-webcomponents-package 1.24.0-rc.4 → 2.0.0-rc.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 +271 -0
- package/README.md +0 -2
- package/create-package.js +4 -61
- package/package.json +2 -2
- package/template/.eslintignore +0 -1
- package/template/gitignore +0 -1
- package/template/package-scripts.js +0 -1
- package/template/src/Assets.js +0 -5
- package/template/src/MyFirstComponent.js +0 -82
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,277 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
# [2.0.0-rc.0](https://github.com/SAP/ui5-webcomponents/compare/v1.24.0...v2.0.0-rc.0) (2024-04-09)
|
7
|
+
|
8
|
+
|
9
|
+
### chore
|
10
|
+
|
11
|
+
* bring release-2.0 to main ([#8651](https://github.com/SAP/ui5-webcomponents/issues/8651)) ([69271c9](https://github.com/SAP/ui5-webcomponents/commit/69271c9468c7dd54f90710fc4613ae0a79f85cef)), closes [#8494](https://github.com/SAP/ui5-webcomponents/issues/8494) [#8496](https://github.com/SAP/ui5-webcomponents/issues/8496) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8497](https://github.com/SAP/ui5-webcomponents/issues/8497) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8504](https://github.com/SAP/ui5-webcomponents/issues/8504) [#8509](https://github.com/SAP/ui5-webcomponents/issues/8509) [#8507](https://github.com/SAP/ui5-webcomponents/issues/8507) [#8511](https://github.com/SAP/ui5-webcomponents/issues/8511) [#8501](https://github.com/SAP/ui5-webcomponents/issues/8501) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8503](https://github.com/SAP/ui5-webcomponents/issues/8503) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8506](https://github.com/SAP/ui5-webcomponents/issues/8506) [#8502](https://github.com/SAP/ui5-webcomponents/issues/8502) [#8524](https://github.com/SAP/ui5-webcomponents/issues/8524) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8525](https://github.com/SAP/ui5-webcomponents/issues/8525) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8518](https://github.com/SAP/ui5-webcomponents/issues/8518) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8526](https://github.com/SAP/ui5-webcomponents/issues/8526) [#8529](https://github.com/SAP/ui5-webcomponents/issues/8529) [#8528](https://github.com/SAP/ui5-webcomponents/issues/8528) [#8531](https://github.com/SAP/ui5-webcomponents/issues/8531) [#8532](https://github.com/SAP/ui5-webcomponents/issues/8532) [#8534](https://github.com/SAP/ui5-webcomponents/issues/8534) [#8163](https://github.com/SAP/ui5-webcomponents/issues/8163) [#8527](https://github.com/SAP/ui5-webcomponents/issues/8527) [#8538](https://github.com/SAP/ui5-webcomponents/issues/8538) [#8521](https://github.com/SAP/ui5-webcomponents/issues/8521) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8542](https://github.com/SAP/ui5-webcomponents/issues/8542) [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#8548](https://github.com/SAP/ui5-webcomponents/issues/8548) [#8555](https://github.com/SAP/ui5-webcomponents/issues/8555) [#8559](https://github.com/SAP/ui5-webcomponents/issues/8559) [#8565](https://github.com/SAP/ui5-webcomponents/issues/8565) [#8570](https://github.com/SAP/ui5-webcomponents/issues/8570) [#8558](https://github.com/SAP/ui5-webcomponents/issues/8558) [#8568](https://github.com/SAP/ui5-webcomponents/issues/8568) [#8596](https://github.com/SAP/ui5-webcomponents/issues/8596) [#8192](https://github.com/SAP/ui5-webcomponents/issues/8192) [#8606](https://github.com/SAP/ui5-webcomponents/issues/8606) [#8605](https://github.com/SAP/ui5-webcomponents/issues/8605) [#8600](https://github.com/SAP/ui5-webcomponents/issues/8600) [#8602](https://github.com/SAP/ui5-webcomponents/issues/8602) [#8593](https://github.com/SAP/ui5-webcomponents/issues/8593)
|
12
|
+
|
13
|
+
|
14
|
+
### BREAKING CHANGES
|
15
|
+
|
16
|
+
* "Device#isIE" method has been removed and no longer available
|
17
|
+
|
18
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461
|
19
|
+
* Removed the `CSP.js` module and the creation of `<style>` and `<link>` tags, as all browsers now support adoptedStyleSheets. The following APIs are not available any more and should not be used:
|
20
|
+
```ts
|
21
|
+
import { setUseLinks } from "@ui5/webcomponents-base/dist/CSP.js"
|
22
|
+
import { setPackageCSSRoot } from "@ui5/webcomponents-base/dist/CSP.js"
|
23
|
+
import { setPreloadLinks } from "@ui5/webcomponents-base/dist/CSP.js"
|
24
|
+
```
|
25
|
+
* Removed the `ICardHeader` interface. If you previously used the interface
|
26
|
+
```ts
|
27
|
+
import type { ICardHeader } from "@ui5/webcomponents-base/dist/Card.js"
|
28
|
+
```
|
29
|
+
Use the CardHeader type instead:
|
30
|
+
```ts
|
31
|
+
import type CardHeader from "@ui5/webcomponents-base/dist/CardHeader.js"
|
32
|
+
```
|
33
|
+
* Removed the `IUploadCollectionItem` interface. If you previously used the interface:
|
34
|
+
```js
|
35
|
+
import type { IUploadCollectionItem} from "@ui5/webcomponents-fiori/dist/UploadCollection.js"
|
36
|
+
```
|
37
|
+
Use the `UploadCollectionItem` type instead:
|
38
|
+
```js
|
39
|
+
import type UploadCollectionItem from "@ui5/webcomponents-fiori/dist/UploadCollectionItem.js"
|
40
|
+
```
|
41
|
+
|
42
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461
|
43
|
+
* The `size` property now accepts different values. If you previously used it like:
|
44
|
+
```html
|
45
|
+
<ui5-busy-indicator size="Small"></ui5-busy-indicator>
|
46
|
+
```
|
47
|
+
Now use the new values instead:
|
48
|
+
```html
|
49
|
+
<ui5-busy-indicator size="S"></ui5-busy-indicator>
|
50
|
+
```
|
51
|
+
|
52
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461
|
53
|
+
* The `status` property and its shadow part have been renamed. If you previously used them:
|
54
|
+
```html
|
55
|
+
<style>
|
56
|
+
.cardHeader::part(status) { ... }
|
57
|
+
</style>
|
58
|
+
<ui5-card-header status="3 of 10"></ui5-popover>
|
59
|
+
```
|
60
|
+
Now use `additionalText` instead:
|
61
|
+
```html
|
62
|
+
<style>
|
63
|
+
.cardHeader::part(additional-text) { ... }
|
64
|
+
</style>
|
65
|
+
<ui5-card-header class="cardHeader" additional-text="3 of 10"></ui5-card-header>
|
66
|
+
```
|
67
|
+
|
68
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461
|
69
|
+
* The `pageIndicatorStyle` no longer exists. If you previously used it like:
|
70
|
+
```html
|
71
|
+
<ui5-carousel page-indicator-style="Numeric"></ui5-carousel>
|
72
|
+
```
|
73
|
+
Now you should use `pageIndicatorType` instead:
|
74
|
+
```html
|
75
|
+
<ui5-carousel page-indicator-type="Numeric"></ui5-carousel>
|
76
|
+
```
|
77
|
+
|
78
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461
|
79
|
+
* Removed `UI5Element#render` method in favour of `UI5Element#renderer`. If you previously used "render"
|
80
|
+
```js
|
81
|
+
class MyClass extends UI5Element {
|
82
|
+
static get render() {
|
83
|
+
return litRenderer;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
```
|
87
|
+
start using "renderer"
|
88
|
+
```ts
|
89
|
+
class MyClass extends UI5Element {
|
90
|
+
static get renderer() {
|
91
|
+
return litRenderer;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
```
|
95
|
+
* Remove JavaScript template option from @ui5/create-webcomponents-package
|
96
|
+
Previously `npm init @ui5/webcomponents-package` used to create JS-based project, however now it will be TypeScript-based project.
|
97
|
+
If you previously used `npm init @ui5/webcomponents-package --enable-typescript` to create TypeScript-based project, now it's by default, e.g `npm init @ui5/webcomponents-package` and `--enable-typescript` is removed.
|
98
|
+
* The `Left` and `Right` options option have been renamed. If you previously used them to set the placement or the alignment of the popover:
|
99
|
+
```html
|
100
|
+
<ui5-popover horizontal-align="Left" placement-type="Left"></ui5-popover>
|
101
|
+
```
|
102
|
+
Now use `Start` or `End` instead:
|
103
|
+
```html
|
104
|
+
<ui5-popover horizontal-align="Start" placement-type="Start"></ui5-popover>
|
105
|
+
```
|
106
|
+
|
107
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461
|
108
|
+
|
109
|
+
* docs: deploy v2 preview
|
110
|
+
* Remove `soccor` icon. Use `soccer` instead.
|
111
|
+
* Remove `add-polygone` icon. Use `add-polygon` instead.
|
112
|
+
* The JSDoc plugin has been removed, and the generation of api.json has stopped. If you previously relied on the `ui5-package/dist/api.json file`, you can now use `ui5-package/dist/custom-elements.json`
|
113
|
+
* All Assets-static.js modules are removed. If you previously imported any Assets-static.js module from any package:
|
114
|
+
```ts
|
115
|
+
import "@ui5/webcomponents/dist/Assets-static.js";
|
116
|
+
import "@ui5/webcomponents-icons/dist/Assets-static.js"
|
117
|
+
```
|
118
|
+
use the dynamic equivalent of it:
|
119
|
+
```ts
|
120
|
+
import "@ui5/webcomponents/dist/Assets.js";
|
121
|
+
import "@ui5/webcomponents-icons/dist/Assets.js"
|
122
|
+
```
|
123
|
+
|
124
|
+
Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
|
125
|
+
* The event `selected-dates-change ` is renamed to `selection-change`. In addition the event details
|
126
|
+
`values` and `dates` are renamed to `selectedValues` and `selectedDateValues`. If you previously used the Calendar event as follows:
|
127
|
+
```ts
|
128
|
+
myCalendar.addEventListener("selected-dates-change", () => {
|
129
|
+
const values = e.detail.values;
|
130
|
+
const dates = e.detail.dates;
|
131
|
+
})
|
132
|
+
```
|
133
|
+
Now you have to use the new event name and details:
|
134
|
+
```ts
|
135
|
+
myCalendar.addEventListener("selection-change", () => {
|
136
|
+
const values = event.detail.selectedValues;
|
137
|
+
const dates = event.detail.selectedDateValues;
|
138
|
+
})
|
139
|
+
```
|
140
|
+
|
141
|
+
Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
|
142
|
+
* The property `color` is renamed to `value`. If you previously used the change event of the ColorPicker as follows:
|
143
|
+
```html
|
144
|
+
<ui5-color-picker color="red"></ui5-color-picker>
|
145
|
+
```
|
146
|
+
Now you have to use it like this:
|
147
|
+
```html
|
148
|
+
<ui5-color-picker value="red"></ui5-color-picker>
|
149
|
+
```
|
150
|
+
|
151
|
+
Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
|
152
|
+
* JavaScript projects may not function properly with the tools package.
|
153
|
+
* The `openPopover` and `showAt` methods are removed in favor of `open` and `opener` properties. If you previously used the imperative API:
|
154
|
+
```js
|
155
|
+
button.addEventListener("click", function(event) {
|
156
|
+
colorPalettePopover.showAt(this);
|
157
|
+
});
|
158
|
+
```
|
159
|
+
Now the declarative API should be used instead:
|
160
|
+
```html
|
161
|
+
<ui5-button id="opener">Open</ui5-button>
|
162
|
+
<ui5-color-palette-popover opener="opener">
|
163
|
+
```
|
164
|
+
```js
|
165
|
+
button.addEventListener("click", function(event) {
|
166
|
+
colorPalettePopover.open = !colorPalettePopover.open;
|
167
|
+
});
|
168
|
+
```
|
169
|
+
* The `ui5-bar` component is now in `main` library. If you previously imported the `ui5-bar` from `fiori`:
|
170
|
+
```ts
|
171
|
+
import "@ui5/webcomponents-fiori/dist/Bar.js;
|
172
|
+
```
|
173
|
+
Now, import the `ui5-bar` from `main`:
|
174
|
+
```ts
|
175
|
+
import "@ui5/webcomponents/dist/Bar.js";
|
176
|
+
```
|
177
|
+
|
178
|
+
Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
|
179
|
+
* If you have previously used:
|
180
|
+
```html
|
181
|
+
<ui5-tab id="nestedTab" slot="subTabs"></ui5-tab>
|
182
|
+
```
|
183
|
+
Now use:
|
184
|
+
```html
|
185
|
+
<ui5-tab id="nestedTab" slot="items"></ui5-tab>
|
186
|
+
```
|
187
|
+
|
188
|
+
Relates to https://github.com/SAP/ui5-webcomponents/issues/8461
|
189
|
+
* If you have previously used:
|
190
|
+
```html
|
191
|
+
<ui5-tabcontainer tabs-overflow-mode="StartAndEnd"></ui5-tabcontainer>
|
192
|
+
```
|
193
|
+
Now use:
|
194
|
+
```html
|
195
|
+
<ui5-tabcontainer overflow-mode="StartAndEnd"></ui5-tabcontainer>
|
196
|
+
```
|
197
|
+
|
198
|
+
Relates to https://github.com/SAP/ui5-webcomponents/issues/8461
|
199
|
+
* If you previously imported `TabContainerBackgroundDesign`, use `BackgroundDesign` instead.
|
200
|
+
|
201
|
+
Relates to https://github.com/SAP/ui5-webcomponents/issues/8461
|
202
|
+
* The showOverflow property is removed. If previously you have used:
|
203
|
+
```html
|
204
|
+
<ui5-tabcontainer show-overflow></ui5-tabcontainer>
|
205
|
+
```
|
206
|
+
now use the overflowButton slot:
|
207
|
+
```html
|
208
|
+
<ui5-tabcontainer>
|
209
|
+
<ui5-button slot="startOverflowButton" id="startOverflowButton">Start</ui5-button>
|
210
|
+
<ui5-button slot="overflowButton" id="endOverflowButton">End</ui5-button>
|
211
|
+
</ui5-tabcontainer>
|
212
|
+
```
|
213
|
+
|
214
|
+
Relates to https://github.com/SAP/ui5-webcomponents/issues/8461
|
215
|
+
* The `placementType` property and the `PopoverPlacementType` enum have been renamed.
|
216
|
+
If you have previously used the `placementType` property and the `PopoverPlacementType`
|
217
|
+
```html
|
218
|
+
<ui5-popover placement-type="Bottom"></ui5-popover>
|
219
|
+
```
|
220
|
+
```js
|
221
|
+
import PopoverPlacementType from "@ui5/webcomponents/dist/types/PopoverPlacementType.js";
|
222
|
+
```
|
223
|
+
Now use `placement` instead:
|
224
|
+
```html
|
225
|
+
<ui5-placement="Bottom"></ui5-popover>
|
226
|
+
```
|
227
|
+
```js
|
228
|
+
import PopoverPlacementType from "@ui5/webcomponents/dist/types/PopoverPlacement.js";
|
229
|
+
```
|
230
|
+
|
231
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461
|
232
|
+
* The `size` property of the `ui5--illustrated-message` is renamed to `design`.
|
233
|
+
If you have previously used the `size` property:
|
234
|
+
```html
|
235
|
+
<ui5-illustrated-message size="Dialog">
|
236
|
+
```
|
237
|
+
Now use `design` instead:
|
238
|
+
```html
|
239
|
+
<ui5-illustrated-message design="Dialog">
|
240
|
+
|
241
|
+
```
|
242
|
+
|
243
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461, https://github.com/SAP/ui5-webcomponents/issues/7887
|
244
|
+
* The `separator-style` property is renamed to `separators` and the `BreadcrumbsSeparatorStyle` enum is renamed to `BreadcrumbsSeparator`.
|
245
|
+
If you have previously used the `separator-style` property:
|
246
|
+
```html
|
247
|
+
<ui5-breadcrumbs separator-style="Slash">
|
248
|
+
```
|
249
|
+
Now use `separators` instead:
|
250
|
+
```html
|
251
|
+
<ui5-breadcrumbs separators="Slash">
|
252
|
+
```
|
253
|
+
|
254
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461, https://github.com/SAP/ui5-webcomponents/issues/7887
|
255
|
+
* The `disabled` property of the `ui5-option` is removed.
|
256
|
+
If you have previously used the `disabled` property:
|
257
|
+
```html
|
258
|
+
<ui5-option disabled>Option</ui5-option>
|
259
|
+
```
|
260
|
+
it will no longer work for the component.
|
261
|
+
|
262
|
+
Related to https://github.com/SAP/ui5-webcomponents/issues/8461, https://github.com/SAP/ui5-webcomponents/issues/7887
|
263
|
+
* You can no longer import and implement the `ITab` interface. TabContainer is designed to work only with Tab and TabSeparator classes, so the interface was obsolete.
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
# [1.24.0](https://github.com/SAP/ui5-webcomponents/compare/v1.24.0-rc.4...v1.24.0) (2024-04-04)
|
270
|
+
|
271
|
+
**Note:** Version bump only for package @ui5/create-webcomponents-package
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
6
277
|
# [1.24.0-rc.4](https://github.com/SAP/ui5-webcomponents/compare/v1.24.0-rc.3...v1.24.0-rc.4) (2024-04-04)
|
7
278
|
|
8
279
|
**Note:** Version bump only for package @ui5/create-webcomponents-package
|
package/README.md
CHANGED
@@ -21,7 +21,6 @@ Options:
|
|
21
21
|
--name <string> - defines the package name
|
22
22
|
--component-name <string> - defines the component class name that will be created in your new package
|
23
23
|
--tag <string> - defines the tag name of the sample web component that will be created in your new package. The tag will be derived from the component name if not provided.
|
24
|
-
--enable-typescript - enables TypeScript support for the package
|
25
24
|
--skip - skips configuration and generates package with a default value for each parameter that wasn't passed
|
26
25
|
```
|
27
26
|
|
@@ -37,7 +36,6 @@ Options:
|
|
37
36
|
--name <string> - defines the package name
|
38
37
|
--component-name <string> - defines the component class name that will be created in your new package
|
39
38
|
--tag <string> - defines the tag name of the sample web component that will be created in your new package
|
40
|
-
--enable-typescript - enables TypeScript support for the package
|
41
39
|
--skip - skips configuration and generates package with a default value for each parameter that wasn't passed
|
42
40
|
```
|
43
41
|
|
package/create-package.js
CHANGED
@@ -15,13 +15,6 @@ const version = JSON.parse(fs.readFileSync(path.join(__dirname, "package.json"))
|
|
15
15
|
// from where all the files will be copied
|
16
16
|
const TEMPLATE_DIR = path.join(`${__dirname}`, `template/`);
|
17
17
|
|
18
|
-
// String utils
|
19
|
-
const isTSRelatedFile = sourcePath => {
|
20
|
-
return ["Assets.ts", "MyFirstComponent.ts", "tsconfig.json", "global.d.ts"].some(fileName => sourcePath.includes(fileName));
|
21
|
-
};
|
22
|
-
const isJSRelatedFile = sourcePath => {
|
23
|
-
return ["Assets.js", "MyFirstComponent.js"].some(fileName => sourcePath.includes(fileName));
|
24
|
-
};
|
25
18
|
const isGitIgnore = sourcePath => {
|
26
19
|
return sourcePath.includes("gitignore");
|
27
20
|
};
|
@@ -34,10 +27,8 @@ const isNPMRC = sourcePath => {
|
|
34
27
|
|
35
28
|
// Validation of user input
|
36
29
|
const ComponentNamePattern = /^[A-Z][A-Za-z0-9]+$/;
|
37
|
-
const NamespacePattern = /^[a-z][a-z0-9\.\-]+$/;
|
38
30
|
const isPackageNameValid = name => typeof name === "string" && name.match(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/);
|
39
31
|
const isComponentNameValid = name => typeof name === "string" && ComponentNamePattern.test(name);
|
40
|
-
const isNamespaceValid = name => typeof name === "string" && NamespacePattern.test(name);
|
41
32
|
const isTagValid = tag => typeof tag === "string" && tag.match(/^[a-z0-9]+?-[a-zA-Z0-9\-_]+?[a-z0-9]$/);
|
42
33
|
|
43
34
|
/**
|
@@ -65,13 +56,6 @@ const replaceVarsInFileName = (vars, fileName) => {
|
|
65
56
|
};
|
66
57
|
|
67
58
|
const copyFile = (vars, sourcePath, destPath) => {
|
68
|
-
const ignoreJsRelated = vars.INIT_PACKAGE_VAR_TYPESCRIPT && isJSRelatedFile(sourcePath);
|
69
|
-
const ignoreTsRelated = !vars.INIT_PACKAGE_VAR_TYPESCRIPT && isTSRelatedFile(sourcePath);
|
70
|
-
|
71
|
-
if (ignoreJsRelated || ignoreTsRelated) {
|
72
|
-
return;
|
73
|
-
}
|
74
|
-
|
75
59
|
if (isLogo(sourcePath)) {
|
76
60
|
fs.copyFileSync(sourcePath, destPath);
|
77
61
|
return;
|
@@ -108,16 +92,14 @@ const copyFiles = (vars, sourcePath, destPath) => {
|
|
108
92
|
}
|
109
93
|
};
|
110
94
|
|
111
|
-
const generateFilesContent = (packageName, componentName,
|
95
|
+
const generateFilesContent = (packageName, componentName, skipSubfolder) => {
|
112
96
|
const tagName = argv.tag || hyphaneteComponentName(componentName);
|
113
97
|
|
114
98
|
// All variables that will be replaced in the content of the resources/
|
115
99
|
const vars = {
|
116
|
-
INIT_PACKAGE_VAR_NAMESPACE: namespace, // namespace must be replaced before name
|
117
100
|
INIT_PACKAGE_VAR_NAME: packageName,
|
118
101
|
INIT_PACKAGE_VAR_TAG: tagName,
|
119
102
|
INIT_PACKAGE_VAR_CLASS_NAME: componentName,
|
120
|
-
INIT_PACKAGE_VAR_TYPESCRIPT: typescript,
|
121
103
|
};
|
122
104
|
|
123
105
|
const packageContent = {
|
@@ -150,13 +132,10 @@ const generateFilesContent = (packageName, componentName, namespace, typescript,
|
|
150
132
|
"devDependencies": {
|
151
133
|
"@ui5/webcomponents-tools": version,
|
152
134
|
"chromedriver": "*",
|
135
|
+
"typescript": "^5.2.2"
|
153
136
|
},
|
154
137
|
};
|
155
138
|
|
156
|
-
if (typescript) {
|
157
|
-
packageContent.devDependencies.typescript = "^4.9.4";
|
158
|
-
}
|
159
|
-
|
160
139
|
// Update package.json
|
161
140
|
let destDir = packageName.includes("@") ? packageName.slice(packageName.lastIndexOf("/") + 1) : packageName;
|
162
141
|
|
@@ -196,22 +175,16 @@ const createWebcomponentsPackage = async () => {
|
|
196
175
|
throw new Error("The component name should be a string, starting with a capital letter [A-Z][a-z], for example: Button, MyButton, etc.");
|
197
176
|
}
|
198
177
|
|
199
|
-
if (argv.namespace && !isNamespaceValid(argv.namespace)) {
|
200
|
-
throw new Error("The JSDoc namespace must start with a letter and can only contain small-case letters, numbers, dots and dashes.");
|
201
|
-
}
|
202
|
-
|
203
178
|
if (argv.tag && !isTagValid(argv.tag) ) {
|
204
179
|
throw new Error("The tag should be in kebab-case (f.e my-component) and it can't be a single word.");
|
205
180
|
}
|
206
181
|
|
207
182
|
let packageName = argv.name || "my-package";
|
208
183
|
let componentName = argv.componentName || "MyComponent";
|
209
|
-
let namespace = argv.namespace || "demo.components";
|
210
|
-
let typescriptSupport = !!argv.enableTypescript;
|
211
184
|
const skipSubfolder = !!argv.skipSubfolder;
|
212
185
|
|
213
186
|
if (argv.skip) {
|
214
|
-
return generateFilesContent(packageName, componentName,
|
187
|
+
return generateFilesContent(packageName, componentName, skipSubfolder);
|
215
188
|
}
|
216
189
|
|
217
190
|
if (!argv.name) {
|
@@ -224,25 +197,6 @@ const createWebcomponentsPackage = async () => {
|
|
224
197
|
packageName = response.name;
|
225
198
|
}
|
226
199
|
|
227
|
-
if (!typescriptSupport) {
|
228
|
-
response = await prompts({
|
229
|
-
type: "select",
|
230
|
-
name: "language",
|
231
|
-
message: "Project type:",
|
232
|
-
choices: [
|
233
|
-
{
|
234
|
-
title: "JavaScript",
|
235
|
-
value: false,
|
236
|
-
},
|
237
|
-
{
|
238
|
-
title: "TypeScript",
|
239
|
-
value: true,
|
240
|
-
},
|
241
|
-
],
|
242
|
-
});
|
243
|
-
typescriptSupport = response.language;
|
244
|
-
}
|
245
|
-
|
246
200
|
if (!argv.componentName) {
|
247
201
|
response = await prompts({
|
248
202
|
type: "text",
|
@@ -254,18 +208,7 @@ const createWebcomponentsPackage = async () => {
|
|
254
208
|
componentName = response.componentName;
|
255
209
|
}
|
256
210
|
|
257
|
-
|
258
|
-
response = await prompts({
|
259
|
-
type: "text",
|
260
|
-
name: "namespace",
|
261
|
-
message: "JSDoc namespace:",
|
262
|
-
initial: "demo.components",
|
263
|
-
validate: (value) => isNamespaceValid(value) ? true : "The JSDoc namespace must start with a letter and can only contain small-case letters, numbers, dots and dashes.",
|
264
|
-
});
|
265
|
-
namespace = response.namespace;
|
266
|
-
}
|
267
|
-
|
268
|
-
return generateFilesContent(packageName, componentName, namespace, typescriptSupport, skipSubfolder);
|
211
|
+
return generateFilesContent(packageName, componentName, skipSubfolder);
|
269
212
|
};
|
270
213
|
|
271
214
|
createWebcomponentsPackage();
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ui5/create-webcomponents-package",
|
3
|
-
"version": "
|
3
|
+
"version": "2.0.0-rc.0",
|
4
4
|
"description": "UI5 Web Components: create package",
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
6
6
|
"license": "Apache-2.0",
|
@@ -24,5 +24,5 @@
|
|
24
24
|
"prompts": "^2.4.1",
|
25
25
|
"yargs": "^17.5.1"
|
26
26
|
},
|
27
|
-
"gitHead": "
|
27
|
+
"gitHead": "f07f56dbe228e7d6d5acedeac5284b131acf551a"
|
28
28
|
}
|
package/template/.eslintignore
CHANGED
package/template/gitignore
CHANGED
package/template/src/Assets.js
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
2
|
-
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
3
|
-
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
4
|
-
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
5
|
-
|
6
|
-
// Template
|
7
|
-
import INIT_PACKAGE_VAR_CLASS_NAMETemplate from "./generated/templates/INIT_PACKAGE_VAR_CLASS_NAMETemplate.lit.js";
|
8
|
-
|
9
|
-
// Styles
|
10
|
-
import INIT_PACKAGE_VAR_CLASS_NAMECss from "./generated/themes/INIT_PACKAGE_VAR_CLASS_NAME.css.js";
|
11
|
-
|
12
|
-
import { COUNT } from "./generated/i18n/i18n-defaults.js";
|
13
|
-
|
14
|
-
/**
|
15
|
-
* @public
|
16
|
-
*/
|
17
|
-
const metadata = {
|
18
|
-
tag: "INIT_PACKAGE_VAR_TAG",
|
19
|
-
properties: /** @lends INIT_PACKAGE_VAR_NAMESPACE.INIT_PACKAGE_VAR_CLASS_NAME.prototype */ {
|
20
|
-
/**
|
21
|
-
* Defines the count of the component.
|
22
|
-
* @type { sap.ui.webc.base.types.Integer }
|
23
|
-
* @defaultvalue 0
|
24
|
-
* @public
|
25
|
-
*/
|
26
|
-
count: {
|
27
|
-
type: Integer,
|
28
|
-
defaultValue: 0,
|
29
|
-
},
|
30
|
-
},
|
31
|
-
slots: {
|
32
|
-
},
|
33
|
-
events: {
|
34
|
-
},
|
35
|
-
};
|
36
|
-
|
37
|
-
/**
|
38
|
-
* @class
|
39
|
-
*
|
40
|
-
* <h3 class="comment-api-title">Overview</h3>
|
41
|
-
*
|
42
|
-
* The <code>INIT_PACKAGE_VAR_TAG</code> component is a demo component that displays some text.
|
43
|
-
*
|
44
|
-
* @constructor
|
45
|
-
* @alias INIT_PACKAGE_VAR_NAMESPACE.INIT_PACKAGE_VAR_CLASS_NAME
|
46
|
-
* @extends sap.ui.webc.base.UI5Element
|
47
|
-
* @tagname INIT_PACKAGE_VAR_TAG
|
48
|
-
* @public
|
49
|
-
*/
|
50
|
-
class INIT_PACKAGE_VAR_CLASS_NAME extends UI5Element {
|
51
|
-
static get metadata() {
|
52
|
-
return metadata;
|
53
|
-
}
|
54
|
-
|
55
|
-
static get render() {
|
56
|
-
return litRender;
|
57
|
-
}
|
58
|
-
|
59
|
-
static get template() {
|
60
|
-
return INIT_PACKAGE_VAR_CLASS_NAMETemplate;
|
61
|
-
}
|
62
|
-
|
63
|
-
static get styles() {
|
64
|
-
return INIT_PACKAGE_VAR_CLASS_NAMECss;
|
65
|
-
}
|
66
|
-
|
67
|
-
static async onDefine() {
|
68
|
-
INIT_PACKAGE_VAR_CLASS_NAME.i18nBundle = await getI18nBundle("INIT_PACKAGE_VAR_NAME");
|
69
|
-
}
|
70
|
-
|
71
|
-
onClick() {
|
72
|
-
this.count++;
|
73
|
-
}
|
74
|
-
|
75
|
-
get counterText() {
|
76
|
-
return INIT_PACKAGE_VAR_CLASS_NAME.i18nBundle.getText(COUNT);
|
77
|
-
}
|
78
|
-
}
|
79
|
-
|
80
|
-
INIT_PACKAGE_VAR_CLASS_NAME.define();
|
81
|
-
|
82
|
-
export default INIT_PACKAGE_VAR_CLASS_NAME;
|