@ui5/create-webcomponents-package 0.0.0-820a5a869 → 0.0.0-8ae0ba6fc
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 +1209 -0
- package/README.md +3 -7
- package/create-package.js +9 -67
- package/package.json +1 -1
- package/template/.eslintignore +1 -2
- package/template/.npsrc.json +3 -0
- package/template/bundle.esm.js +0 -2
- package/template/gitignore +0 -1
- package/template/{package-scripts.js → package-scripts.cjs} +0 -1
- package/template/src/MyFirstComponent.ts +9 -16
- package/template/src/MyFirstComponentTemplate.tsx +9 -0
- package/template/src/themes/MyFirstComponent.css +6 -1
- package/template/test/pages/css/index.css +7 -2
- package/template/test/pages/img/logo.png +0 -0
- package/template/test/pages/index.html +5 -5
- package/template/test/specs/Demo.spec.js +1 -1
- package/template/tsconfig.json +12 -14
- package/template/vite.config.js +14 -0
- package/template/config/postcss.components/postcss.config.js +0 -1
- package/template/config/postcss.themes/postcss.config.js +0 -1
- package/template/src/Assets.js +0 -5
- package/template/src/MyFirstComponent.hbs +0 -1
- package/template/src/MyFirstComponent.js +0 -82
- /package/template/{.eslintrc.js → .eslintrc.cjs} +0 -0
- /package/template/config/{wdio.conf.js → wdio.conf.cjs} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
UI5 Web Components - Create Package
|
|
4
2
|
|
|
5
3
|
[](https://www.npmjs.com/package/@ui5/webcomponents)
|
|
6
4
|
|
|
@@ -20,7 +18,6 @@ Options:
|
|
|
20
18
|
--name <string> - defines the package name
|
|
21
19
|
--component-name <string> - defines the component class name that will be created in your new package
|
|
22
20
|
--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.
|
|
23
|
-
--enable-typescript - enables TypeScript support for the package
|
|
24
21
|
--skip - skips configuration and generates package with a default value for each parameter that wasn't passed
|
|
25
22
|
```
|
|
26
23
|
|
|
@@ -36,7 +33,6 @@ Options:
|
|
|
36
33
|
--name <string> - defines the package name
|
|
37
34
|
--component-name <string> - defines the component class name that will be created in your new package
|
|
38
35
|
--tag <string> - defines the tag name of the sample web component that will be created in your new package
|
|
39
|
-
--enable-typescript - enables TypeScript support for the package
|
|
40
36
|
--skip - skips configuration and generates package with a default value for each parameter that wasn't passed
|
|
41
37
|
```
|
|
42
38
|
|
|
@@ -46,10 +42,10 @@ components package.
|
|
|
46
42
|
## Resources
|
|
47
43
|
- [UI5 Web Components - README.md](https://github.com/SAP/ui5-webcomponents/blob/main/README.md)
|
|
48
44
|
- [UI5 Web Components - Home Page](https://sap.github.io/ui5-webcomponents)
|
|
49
|
-
- [UI5 Web Components - Playground and API Reference](https://sap.github.io/ui5-webcomponents/
|
|
45
|
+
- [UI5 Web Components - Playground and API Reference](https://sap.github.io/ui5-webcomponents/play/)
|
|
50
46
|
|
|
51
47
|
## Support
|
|
52
|
-
We welcome all comments, suggestions, questions, and bug reports. Please follow our [Support Guidelines](https://github.com/SAP/ui5-webcomponents/blob/main/SUPPORT.md#-content) on how to report an issue, or chat with us in the `#webcomponents` channel of the [OpenUI5 Community Slack](https://
|
|
48
|
+
We welcome all comments, suggestions, questions, and bug reports. Please follow our [Support Guidelines](https://github.com/SAP/ui5-webcomponents/blob/main/SUPPORT.md#-content) on how to report an issue, or chat with us in the `#webcomponents` channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com/).
|
|
53
49
|
|
|
54
50
|
## Contribute
|
|
55
51
|
Please check our [Contribution Guidelines](https://github.com/SAP/ui5-webcomponents/blob/main/docs/6-contributing/02-conventions-and-guidelines.md).
|
package/create-package.js
CHANGED
|
@@ -10,20 +10,11 @@ const { hideBin } = require("yargs/helpers");
|
|
|
10
10
|
|
|
11
11
|
const argv = yargs(hideBin(process.argv)).argv;
|
|
12
12
|
|
|
13
|
-
const version = JSON.parse(fs.readFileSync(path.join(__dirname, "package.json"))).version;
|
|
14
|
-
const versionParts = version.split(".") // f.e. 1, 15, 3
|
|
15
|
-
const effVersion = `^${versionParts[0]}.${versionParts[1]}.0` // f.e. ^1.15.0
|
|
13
|
+
const version = JSON.parse(fs.readFileSync(path.join(__dirname, "package.json"))).version;
|
|
16
14
|
|
|
17
15
|
// from where all the files will be copied
|
|
18
16
|
const TEMPLATE_DIR = path.join(`${__dirname}`, `template/`);
|
|
19
17
|
|
|
20
|
-
// String utils
|
|
21
|
-
const isTSRelatedFile = sourcePath => {
|
|
22
|
-
return ["Assets.ts", "MyFirstComponent.ts", "tsconfig.json", "global.d.ts"].some(fileName => sourcePath.includes(fileName));
|
|
23
|
-
};
|
|
24
|
-
const isJSRelatedFile = sourcePath => {
|
|
25
|
-
return ["Assets.js", "MyFirstComponent.js"].some(fileName => sourcePath.includes(fileName));
|
|
26
|
-
};
|
|
27
18
|
const isGitIgnore = sourcePath => {
|
|
28
19
|
return sourcePath.includes("gitignore");
|
|
29
20
|
};
|
|
@@ -36,10 +27,8 @@ const isNPMRC = sourcePath => {
|
|
|
36
27
|
|
|
37
28
|
// Validation of user input
|
|
38
29
|
const ComponentNamePattern = /^[A-Z][A-Za-z0-9]+$/;
|
|
39
|
-
const NamespacePattern = /^[a-z][a-z0-9\.\-]+$/;
|
|
40
30
|
const isPackageNameValid = name => typeof name === "string" && name.match(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/);
|
|
41
31
|
const isComponentNameValid = name => typeof name === "string" && ComponentNamePattern.test(name);
|
|
42
|
-
const isNamespaceValid = name => typeof name === "string" && NamespacePattern.test(name);
|
|
43
32
|
const isTagValid = tag => typeof tag === "string" && tag.match(/^[a-z0-9]+?-[a-zA-Z0-9\-_]+?[a-z0-9]$/);
|
|
44
33
|
|
|
45
34
|
/**
|
|
@@ -67,13 +56,6 @@ const replaceVarsInFileName = (vars, fileName) => {
|
|
|
67
56
|
};
|
|
68
57
|
|
|
69
58
|
const copyFile = (vars, sourcePath, destPath) => {
|
|
70
|
-
const ignoreJsRelated = vars.INIT_PACKAGE_VAR_TYPESCRIPT && isJSRelatedFile(sourcePath);
|
|
71
|
-
const ignoreTsRelated = !vars.INIT_PACKAGE_VAR_TYPESCRIPT && isTSRelatedFile(sourcePath);
|
|
72
|
-
|
|
73
|
-
if (ignoreJsRelated || ignoreTsRelated) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
59
|
if (isLogo(sourcePath)) {
|
|
78
60
|
fs.copyFileSync(sourcePath, destPath);
|
|
79
61
|
return;
|
|
@@ -110,16 +92,14 @@ const copyFiles = (vars, sourcePath, destPath) => {
|
|
|
110
92
|
}
|
|
111
93
|
};
|
|
112
94
|
|
|
113
|
-
const generateFilesContent = (packageName, componentName,
|
|
95
|
+
const generateFilesContent = (packageName, componentName, skipSubfolder) => {
|
|
114
96
|
const tagName = argv.tag || hyphaneteComponentName(componentName);
|
|
115
97
|
|
|
116
98
|
// All variables that will be replaced in the content of the resources/
|
|
117
99
|
const vars = {
|
|
118
|
-
INIT_PACKAGE_VAR_NAMESPACE: namespace, // namespace must be replaced before name
|
|
119
100
|
INIT_PACKAGE_VAR_NAME: packageName,
|
|
120
101
|
INIT_PACKAGE_VAR_TAG: tagName,
|
|
121
102
|
INIT_PACKAGE_VAR_CLASS_NAME: componentName,
|
|
122
|
-
INIT_PACKAGE_VAR_TYPESCRIPT: typescript,
|
|
123
103
|
};
|
|
124
104
|
|
|
125
105
|
const packageContent = {
|
|
@@ -128,6 +108,7 @@ const generateFilesContent = (packageName, componentName, namespace, typescript,
|
|
|
128
108
|
ui5: {
|
|
129
109
|
webComponentsPackage: true,
|
|
130
110
|
},
|
|
111
|
+
type: "module",
|
|
131
112
|
scripts: {
|
|
132
113
|
"clean": "wc-dev clean",
|
|
133
114
|
"lint": "wc-dev lint",
|
|
@@ -146,19 +127,16 @@ const generateFilesContent = (packageName, componentName, namespace, typescript,
|
|
|
146
127
|
"./*": "./dist/*",
|
|
147
128
|
},
|
|
148
129
|
"dependencies": {
|
|
149
|
-
"@ui5/webcomponents-base":
|
|
150
|
-
"@ui5/webcomponents-theming":
|
|
130
|
+
"@ui5/webcomponents-base": version,
|
|
131
|
+
"@ui5/webcomponents-theming": version,
|
|
151
132
|
},
|
|
152
133
|
"devDependencies": {
|
|
153
|
-
"@ui5/webcomponents-tools":
|
|
134
|
+
"@ui5/webcomponents-tools": version,
|
|
154
135
|
"chromedriver": "*",
|
|
136
|
+
"typescript": "^5.6.2"
|
|
155
137
|
},
|
|
156
138
|
};
|
|
157
139
|
|
|
158
|
-
if (typescript) {
|
|
159
|
-
packageContent.devDependencies.typescript = "^4.9.4";
|
|
160
|
-
}
|
|
161
|
-
|
|
162
140
|
// Update package.json
|
|
163
141
|
let destDir = packageName.includes("@") ? packageName.slice(packageName.lastIndexOf("/") + 1) : packageName;
|
|
164
142
|
|
|
@@ -198,22 +176,16 @@ const createWebcomponentsPackage = async () => {
|
|
|
198
176
|
throw new Error("The component name should be a string, starting with a capital letter [A-Z][a-z], for example: Button, MyButton, etc.");
|
|
199
177
|
}
|
|
200
178
|
|
|
201
|
-
if (argv.namespace && !isNamespaceValid(argv.namespace)) {
|
|
202
|
-
throw new Error("The JSDoc namespace must start with a letter and can only contain small-case letters, numbers, dots and dashes.");
|
|
203
|
-
}
|
|
204
|
-
|
|
205
179
|
if (argv.tag && !isTagValid(argv.tag) ) {
|
|
206
180
|
throw new Error("The tag should be in kebab-case (f.e my-component) and it can't be a single word.");
|
|
207
181
|
}
|
|
208
182
|
|
|
209
183
|
let packageName = argv.name || "my-package";
|
|
210
184
|
let componentName = argv.componentName || "MyComponent";
|
|
211
|
-
let namespace = argv.namespace || "demo.components";
|
|
212
|
-
let typescriptSupport = !!argv.enableTypescript;
|
|
213
185
|
const skipSubfolder = !!argv.skipSubfolder;
|
|
214
186
|
|
|
215
187
|
if (argv.skip) {
|
|
216
|
-
return generateFilesContent(packageName, componentName,
|
|
188
|
+
return generateFilesContent(packageName, componentName, skipSubfolder);
|
|
217
189
|
}
|
|
218
190
|
|
|
219
191
|
if (!argv.name) {
|
|
@@ -226,25 +198,6 @@ const createWebcomponentsPackage = async () => {
|
|
|
226
198
|
packageName = response.name;
|
|
227
199
|
}
|
|
228
200
|
|
|
229
|
-
if (!typescriptSupport) {
|
|
230
|
-
response = await prompts({
|
|
231
|
-
type: "select",
|
|
232
|
-
name: "language",
|
|
233
|
-
message: "Project type:",
|
|
234
|
-
choices: [
|
|
235
|
-
{
|
|
236
|
-
title: "JavaScript",
|
|
237
|
-
value: false,
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
title: "TypeScript",
|
|
241
|
-
value: true,
|
|
242
|
-
},
|
|
243
|
-
],
|
|
244
|
-
});
|
|
245
|
-
typescriptSupport = response.language;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
201
|
if (!argv.componentName) {
|
|
249
202
|
response = await prompts({
|
|
250
203
|
type: "text",
|
|
@@ -256,18 +209,7 @@ const createWebcomponentsPackage = async () => {
|
|
|
256
209
|
componentName = response.componentName;
|
|
257
210
|
}
|
|
258
211
|
|
|
259
|
-
|
|
260
|
-
response = await prompts({
|
|
261
|
-
type: "text",
|
|
262
|
-
name: "namespace",
|
|
263
|
-
message: "JSDoc namespace:",
|
|
264
|
-
initial: "demo.components",
|
|
265
|
-
validate: (value) => isNamespaceValid(value) ? true : "The JSDoc namespace must start with a letter and can only contain small-case letters, numbers, dots and dashes.",
|
|
266
|
-
});
|
|
267
|
-
namespace = response.namespace;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
return generateFilesContent(packageName, componentName, namespace, typescriptSupport, skipSubfolder);
|
|
212
|
+
return generateFilesContent(packageName, componentName, skipSubfolder);
|
|
271
213
|
};
|
|
272
214
|
|
|
273
215
|
createWebcomponentsPackage();
|
package/package.json
CHANGED
package/template/.eslintignore
CHANGED
package/template/bundle.esm.js
CHANGED
|
@@ -6,7 +6,6 @@ import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
|
|
|
6
6
|
import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
|
|
7
7
|
import { getTheme, setTheme } from "@ui5/webcomponents-base/dist/config/Theme.js";
|
|
8
8
|
import { getNoConflict, setNoConflict } from "@ui5/webcomponents-base/dist/config/NoConflict.js";
|
|
9
|
-
import { getRTL } from "@ui5/webcomponents-base/dist/config/RTL.js";
|
|
10
9
|
import { getFirstDayOfWeek } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
|
|
11
10
|
|
|
12
11
|
// Enable additional themes and i18n texts
|
|
@@ -25,7 +24,6 @@ window["sap-ui-webcomponents-bundle"] = {
|
|
|
25
24
|
getNoConflict,
|
|
26
25
|
setNoConflict,
|
|
27
26
|
getCalendarType,
|
|
28
|
-
getRTL,
|
|
29
27
|
getFirstDayOfWeek,
|
|
30
28
|
},
|
|
31
29
|
};
|
package/template/gitignore
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
3
3
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
5
|
+
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
6
6
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
7
|
-
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
8
7
|
|
|
9
8
|
// Template
|
|
10
|
-
import INIT_PACKAGE_VAR_CLASS_NAMETemplate from "./
|
|
9
|
+
import INIT_PACKAGE_VAR_CLASS_NAMETemplate from "./INIT_PACKAGE_VAR_CLASS_NAMETemplate.js";
|
|
11
10
|
|
|
12
11
|
// Styles
|
|
13
12
|
import INIT_PACKAGE_VAR_CLASS_NAMECss from "./generated/themes/INIT_PACKAGE_VAR_CLASS_NAME.css.js";
|
|
@@ -22,32 +21,26 @@ import { COUNT } from "./generated/i18n/i18n-defaults.js";
|
|
|
22
21
|
* The <code>INIT_PACKAGE_VAR_TAG</code> component is a demo component that displays some text.
|
|
23
22
|
*
|
|
24
23
|
* @constructor
|
|
25
|
-
* @
|
|
26
|
-
* @extends sap.ui.webc.base.UI5Element
|
|
27
|
-
* @tagname INIT_PACKAGE_VAR_TAG
|
|
24
|
+
* @extends UI5Element
|
|
28
25
|
* @public
|
|
29
26
|
*/
|
|
30
27
|
@customElement({
|
|
31
28
|
tag: "INIT_PACKAGE_VAR_TAG",
|
|
32
|
-
renderer:
|
|
29
|
+
renderer: jsxRenderer,
|
|
33
30
|
styles: INIT_PACKAGE_VAR_CLASS_NAMECss,
|
|
34
31
|
template: INIT_PACKAGE_VAR_CLASS_NAMETemplate,
|
|
35
32
|
})
|
|
36
33
|
class INIT_PACKAGE_VAR_CLASS_NAME extends UI5Element {
|
|
34
|
+
@i18n("INIT_PACKAGE_VAR_NAME")
|
|
37
35
|
static i18nBundle: I18nBundle;
|
|
38
36
|
|
|
39
|
-
static async onDefine() {
|
|
40
|
-
INIT_PACKAGE_VAR_CLASS_NAME.i18nBundle = await getI18nBundle("INIT_PACKAGE_VAR_NAME");
|
|
41
|
-
}
|
|
42
|
-
|
|
43
37
|
/**
|
|
44
38
|
* Defines the component count.
|
|
45
|
-
* @
|
|
39
|
+
* @default 0
|
|
46
40
|
* @public
|
|
47
|
-
* @type { sap.ui.webc.base.types.Integer }
|
|
48
41
|
*/
|
|
49
|
-
@property({
|
|
50
|
-
count
|
|
42
|
+
@property({ type: Number })
|
|
43
|
+
count = 0;
|
|
51
44
|
|
|
52
45
|
onClick() {
|
|
53
46
|
this.count++;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type INIT_PACKAGE_VAR_CLASS_NAME from "./INIT_PACKAGE_VAR_CLASS_NAME.js";
|
|
2
|
+
|
|
3
|
+
export default function INIT_PACKAGE_VAR_CLASS_NAMETemplate(this: INIT_PACKAGE_VAR_CLASS_NAME) {
|
|
4
|
+
return (
|
|
5
|
+
<div class="root" onClick={this.onClick}>
|
|
6
|
+
{this.counterText} :: {this.count}
|
|
7
|
+
</div>
|
|
8
|
+
);
|
|
9
|
+
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
.root {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
justify-content: center;
|
|
5
|
+
flex-direction: column;
|
|
2
6
|
padding: 0 2rem;
|
|
3
7
|
color: var(--sapAvatar_6_TextColor);
|
|
4
8
|
background-color: var(--sapAvatar_6_Background);
|
|
@@ -9,4 +13,5 @@
|
|
|
9
13
|
line-height: 3rem;
|
|
10
14
|
font-size: 1.25rem;
|
|
11
15
|
user-select: none;
|
|
16
|
+
cursor: pointer;
|
|
12
17
|
}
|
|
@@ -15,13 +15,18 @@ h2 {
|
|
|
15
15
|
margin-bottom: 0.5rem;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
.app, .app-
|
|
18
|
+
.app, .app-settings, .app-docs, .app-first-component {
|
|
19
19
|
display: flex;
|
|
20
20
|
align-items: center;
|
|
21
21
|
justify-content: center;
|
|
22
22
|
flex-direction: column;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
.app-logo {
|
|
26
|
+
height: 230px;
|
|
27
|
+
width: 230px;
|
|
28
|
+
}
|
|
29
|
+
|
|
25
30
|
.app-first-component {
|
|
26
31
|
margin-bottom: 3rem;
|
|
27
32
|
}
|
|
@@ -33,4 +38,4 @@ h2 {
|
|
|
33
38
|
a {
|
|
34
39
|
margin: 0.25rem;
|
|
35
40
|
color: var(--sapLinkColor);
|
|
36
|
-
}
|
|
41
|
+
}
|
|
Binary file
|
|
@@ -14,21 +14,21 @@
|
|
|
14
14
|
"language": "EN"
|
|
15
15
|
}
|
|
16
16
|
</script>
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
<link rel="stylesheet" type="text/css" href="./css/index.css">
|
|
19
19
|
<script src="../../bundle.esm.js" type="module"></script>
|
|
20
20
|
</head>
|
|
21
21
|
|
|
22
22
|
<body>
|
|
23
23
|
<div class="app">
|
|
24
|
-
<a href="https://sap.github.io/ui5-webcomponents/
|
|
24
|
+
<a href="https://sap.github.io/ui5-webcomponents/docs/getting-started/first-steps/" target="_blank"><img src="./img/logo.png" class="app-logo" alt="logo"/></a>
|
|
25
25
|
|
|
26
26
|
<div class="app-first-component">
|
|
27
27
|
<h1>Hooray! It's Your First Web Component!</h1>
|
|
28
28
|
<div> <pre><INIT_PACKAGE_VAR_TAG></INIT_PACKAGE_VAR_TAG> </pre></div>
|
|
29
29
|
<INIT_PACKAGE_VAR_TAG id="myFirstComponent"></INIT_PACKAGE_VAR_TAG>
|
|
30
30
|
</div>
|
|
31
|
-
|
|
31
|
+
|
|
32
32
|
<div class="app-settings">
|
|
33
33
|
|
|
34
34
|
<h2>Switch themes</h2>
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
<a class="link" href="?sap-ui-theme=sap_horizon_hcb">Horizon High Contrast Black</a>
|
|
39
39
|
<a class="link" href="?sap-ui-theme=sap_horizon_hcw">Horizon High Contrast White</a>
|
|
40
40
|
</div>
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
<h2>Switch language</h2>
|
|
43
43
|
<div>
|
|
44
44
|
<a class="link" href="?sap-ui-language=en">English</a>
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
|
|
51
51
|
<div class="app-docs">
|
|
52
52
|
<h2>Documentation</h2>
|
|
53
|
-
<a class="link" href="https://sap.github.io/ui5-webcomponents/
|
|
53
|
+
<a class="link" href="https://sap.github.io/ui5-webcomponents/docs/development/custom-UI5-Web-Components-Packages/">Custom Component Development</a>
|
|
54
54
|
</div>
|
|
55
55
|
</div>
|
|
56
56
|
</body>
|
package/template/tsconfig.json
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
}
|
|
2
|
+
"extends": "@ui5/webcomponents-tools/tsconfig.json",
|
|
3
|
+
"include": [
|
|
4
|
+
"src/**/*",
|
|
5
|
+
"global.d.ts"
|
|
6
|
+
],
|
|
7
|
+
"compilerOptions": {
|
|
8
|
+
"outDir": "dist",
|
|
9
|
+
"experimentalDecorators": true,
|
|
10
|
+
"module": "NodeNext",
|
|
11
|
+
"moduleResolution": "NodeNext",
|
|
12
|
+
},
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import viteConfig from "@ui5/webcomponents-tools/components-package/vite.config.js"; //eslint-disable-line
|
|
2
|
+
|
|
3
|
+
// Modifying the default Vite configuration provided by the @ui5/webcomponents-tools package.
|
|
4
|
+
// You can directly access and update the properties you need to change.
|
|
5
|
+
// Ensure that the property exists before modifying it to avoid unintended errors.
|
|
6
|
+
// For available configuration options, refer to: https://vite.dev/config/#configuring-vite
|
|
7
|
+
//
|
|
8
|
+
// Ensure the plugins array exists
|
|
9
|
+
// viteConfig.plugins = viteConfig.plugins || [];
|
|
10
|
+
//
|
|
11
|
+
// Push a new fake plugin
|
|
12
|
+
// viteConfig.plugins.push({ name: 'my-custom-plugin' });
|
|
13
|
+
|
|
14
|
+
export default viteConfig;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("@ui5/webcomponents-tools/components-package/postcss.components.js"); // eslint-disable-line
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("@ui5/webcomponents-tools/components-package/postcss.themes.js"); // eslint-disable-line
|
package/template/src/Assets.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<div @click="{{onClick}}">{{counterText}} :: {{count}}</div>
|
|
@@ -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
|
-
validator: 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;
|
|
File without changes
|
|
File without changes
|