Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,20 @@ env:
jobs:
build:
runs-on: ubuntu-latest
if: "! contains(github.event.head_commit.message, '[skip ci]')"

strategy:
matrix:
node-version: [24.x]

steps:
- uses: actions/checkout@v6

- name: Use Node.js ${{ matrix.node-version }}
- name: Install Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
node-version: 24.x

- name: Install dependencies
run: npm install

- name: Execute tests
run: npm run test

- name: Build and validate all steps
run: node tools/builder
run: npm run build
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@
},
"scripts": {
"build": "node tools/builder",
"download-assets": "node tools/utils/download-assets",
"start": "node tools/dev-server",
"download-assets": "node tools/utils/download-assets"
"test": "npm run typecheck",
"typecheck": "npm run typecheck --workspaces --if-present"
},
"devDependencies": {
"@highlightjs/cdn-assets": "^11.11.1",
Expand Down
3 changes: 2 additions & 1 deletion packages/quickstart/steps/01/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"author": "SAP SE",
"description": "UI5 Demo App - Quickstart Tutorial",
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/quickstart/steps/02/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"author": "SAP SE",
"description": "UI5 Demo App - Quickstart Tutorial",
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/quickstart/steps/03/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"author": "SAP SE",
"description": "UI5 Demo App - Quickstart Tutorial",
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/02/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 2 - Bootstrap",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@ui5/cli": "^4.0.51",
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/03/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 3 - Controls",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/04/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 4: XML Views",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/05/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 5: Controllers",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/06/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 6: Modules",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/07/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 7: JSON Model",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/walkthrough/steps/08/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ export default class AppController extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down Expand Up @@ -121,7 +121,7 @@ sap.ui.define(["sap/m/MessageToast", "sap/ui/core/mvc/Controller", "sap/ui/model
// read msg from i18n model
const recipient = this.getView()?.getModel()?.getProperty("/recipient/name");
const resourceBundle = this.getView()?.getModel("i18n")?.getResourceBundle();
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/08/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 8: Translatable Texts",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export default class AppController extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
4 changes: 2 additions & 2 deletions packages/walkthrough/steps/09/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ export default class AppController extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand All @@ -179,7 +179,7 @@ sap.ui.define(["sap/m/MessageToast", "sap/ui/core/mvc/Controller"], function (Me
// functions with generic return values require casting
const resourceBundle = this.getView()?.getModel("i18n")?.getResourceBundle();
const recipient = this.getView()?.getModel()?.getProperty("/recipient/name");
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/09/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 9 - Component Configuration",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export default class AppController extends Controller {
// functions with generic return values require casting
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/10/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 10 - Descriptor for Applications",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default class AppController extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/11/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 11 - Pages and Panels",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default class AppController extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/12/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 12 - Shell Control as Container",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default class AppController extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/13/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 13 - Margins and Paddings",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default class AppController extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/14/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 14 - Custom CSS and Theme Colors",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default class AppController extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
4 changes: 2 additions & 2 deletions packages/walkthrough/steps/15/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export default class HelloPanel extends Controller {
// functions with generic return values require casting
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand All @@ -70,7 +70,7 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/m/MessageToast"], function (Co
// read msg from i18n model
const recipient = this.getView()?.getModel()?.getProperty("/recipient/name");
const resourceBundle = this.getView()?.getModel("i18n")?.getResourceBundle();
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/15/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 15 - Nested Views",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export default class HelloPanel extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/16/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 16 - Dialogs and Fragments",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default class HelloPanel extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
4 changes: 2 additions & 2 deletions packages/walkthrough/steps/17/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export default class HelloPanel extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand All @@ -77,7 +77,7 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/m/MessageToast"], function (Co
// read msg from i18n model
const recipient = this.getView()?.getModel()?.getProperty("/recipient/name");
const resourceBundle = this.getView()?.getModel("i18n")?.getResourceBundle();
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
},
Expand Down
3 changes: 2 additions & 1 deletion packages/walkthrough/steps/17/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "OpenUI5 TypeScript Walkthrough: Step 17 - Fragment Callbacks",
"private": true,
"scripts": {
"start": "ui5 serve -o index.html"
"start": "ui5 serve -o index.html",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/openui5": "^1.146.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default class HelloPanel extends Controller {
// read msg from i18n model
const recipient = (this.getView()?.getModel() as JSONModel)?.getProperty("/recipient/name");
const resourceBundle = (this.getView()?.getModel("i18n") as ResourceModel)?.getResourceBundle() as ResourceBundle;
const msg = resourceBundle.getText("helloMsg", [recipient]);
const msg = resourceBundle.getText("helloMsg", [recipient]) as string;
// show message
MessageToast.show(msg);
}
Expand Down
Loading