ui5-community / create-wdi5 Goto Github PK
View Code? Open in Web Editor NEWquick bootstrap for using wdi5 (wdio-ui5-service)
License: Apache License 2.0
quick bootstrap for using wdi5 (wdio-ui5-service)
License: Apache License 2.0
Hey ๐๐ป
@vobu I have to admit I kind of struggled enhancing the in place functions of the config file. What are your thought about using explicit functions in the template to simplify things for my future self?
e.g.
//this is just a sample in case env params are disjoint, don't judge me ๐ฑ
function getBrowserArgs () {
//this was my enhancement for the CI
if (process.argv.includes("--ci")) {
return ["--disable-gpu", "--disable-dev-shm-usage", "--headless", "--window-size=1440,800", "--disable-software-rasterizer"];
}
if (process.argv.includes("--headless")) {
return ["--headless", "--window-size=1440,800"];
}
if (process.argv.includes("--debug")) {
return ["--window-size=1440,800", "--auto-open-devtools-for-tabs"];
}
return ["--window-size=1440,800"];
}
...
"goog:chromeOptions": {
args: getBrowserArgs()
instead of
"goog:chromeOptions": {
args:
//I would have had to enhance this which is kind of unreadable in the end ๐
process.argv.indexOf("--headless") > -1
? ["--headless=new"]
: process.argv.indexOf("--debug") > -1
? ["window-size=1440,800", "--auto-open-devtools-for-tabs"]
: ["window-size=1440,800"]
},
Just a heads-up: there's a wdi5 setup tutorial in the SAP Developer Center. I was running through it and encountered a problem with "npm init wdi5@latest -- ..." on step 10 (reported here with full error transcript: sap-tutorials/btp-foundation#81). I will be reaching out to the tutorial author to sort it out, but the root cause does seem to be somewhere inside wdi5 (probably a corner case based on the custom command line options required in the tutorial).
I'll keep you posted, but it might be worth a look by one of y'all.
"wdi5": "wdio run ./wdio.conf.ts --autoCompileOpts.tsNodeOpts.project=test/tsconfig.json"
investigate the different behavior of
plus different behavior when installed globally vs retrieved from registry.
ugh.
@vobu - just notice something while checking a reported issue for the ecosystem. When we create a new project for TypeScript, wdi5 adds the webapp/test/e2e
folder which includes Node runtime related code. When using this in combination with the ui5-tooling-modules either an excludes must be maintained or better we move non-UI5-runtime code into another folder. This doesn't make sense to have it in the webapp
folder, isn't it?
Happy to discuss this with you!
Moved ui5-community/wdi5#610 from wdi5 repo to wdi5-create
Describe the bug
The easy ui5 generator includes a sub-generator that handles the wdi5 integration into the generated app. This mostly consists of npm init wdi5 -- --ts
. Init wdi5 seems to hard coded introduce a devDependency to the latest version of @openui5/types
. But in the context of the easy ui5 generator the user can select between sapui5 and openui5 and also which specific version to be used.
See also my initial issue for the ui5 ts app generator: ui5-community/generator-ui5-ts-app#33
I think this is caused here: https://github.com/ui5-community/create-wdi5/blob/main/src%2Findex.ts#L20
UPDATA: and the tsconfig also contains the @openui5/types type: https://github.com/ui5-community/create-wdi5/blob/main/templates/test/tsconfig.json#L4
To Reproduce
yo easy-ui5
-> select generator ts-app
and follow the instructions. select sapui5 (e.g. 1.120.11) and have a look at the package.json
afterwards.
Expected behavior
Depending on the selection in the easy ui5 generator either @openui5/types
or @sapui5/types
should be included as devDependency in the version entered in the respective generator step.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.