Skip to content

Commit

Permalink
Add syntax & type check for Node.js example on CI (#4410)
Browse files Browse the repository at this point in the history
* Add syntax & type check for Node.js example on CI

Signed-off-by: Johannes Marbach <[email protected]>

* Fix quotes

---------

Signed-off-by: Johannes Marbach <[email protected]>
Co-authored-by: Florian Duros <[email protected]>
  • Loading branch information
Johennes and florianduros authored Jan 3, 2025
1 parent 3fcc566 commit 6f7c74f
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 15 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/static_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,41 @@ jobs:
- name: Run Linter
run: "yarn run lint:js"

node_example_lint:
name: "Node.js example"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version-file: package.json

- name: Install Deps
run: "yarn install"

- name: Build Types
run: "yarn build:types"

- uses: actions/setup-node@v4
with:
cache: "npm"
node-version-file: "examples/node/package.json"
# cache-dependency-path: '**/package-lock.json'

- name: Install Example Deps
run: "npm install"
working-directory: "examples/node"

- name: Check Syntax
run: "node --check app.js"
working-directory: "examples/node"

- name: Typecheck
run: "npx tsc"
working-directory: "examples/node"

workflow_lint:
name: "Workflow Lint"
runs-on: ubuntu-24.04
Expand Down
24 changes: 9 additions & 15 deletions examples/node/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,20 +94,14 @@ rl.on("line", function (line) {
);
} else if (line.indexOf("/file ") === 0) {
var filename = line.split(" ")[1].trim();
var stream = fs.createReadStream(filename);
matrixClient
.uploadContent({
stream: stream,
name: filename,
})
.then(function (url) {
var content = {
msgtype: MsgType.File,
body: filename,
url: JSON.parse(url).content_uri,
};
matrixClient.sendMessage(viewingRoom.roomId, content);
let buffer = fs.readFileSync("./your_file_name");
matrixClient.uploadContent(new Blob([buffer])).then(function (response) {
matrixClient.sendMessage(viewingRoom.roomId, {
msgtype: MsgType.File,
body: filename,
url: response.content_uri,
});
});
} else {
matrixClient.sendTextMessage(viewingRoom.roomId, line).finally(function () {
printMessages();
Expand Down Expand Up @@ -167,7 +161,7 @@ matrixClient.on(RoomEvent.Timeline, function (event, room, toStartOfTimeline) {
if (toStartOfTimeline) {
return; // don't print paginated results
}
if (!viewingRoom || viewingRoom.roomId !== room.roomId) {
if (!viewingRoom || viewingRoom.roomId !== room?.roomId) {
return; // not viewing a room or viewing the wrong room.
}
printLine(event);
Expand Down Expand Up @@ -386,7 +380,7 @@ function print(str, formatter) {
}
console.log.apply(console.log, newArgs);
} else {
console.log.apply(console.log, arguments);
console.log.apply(console.log, [...arguments]);
}
}

Expand Down
7 changes: 7 additions & 0 deletions examples/node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,12 @@
"dependencies": {
"cli-color": "^1.0.0",
"matrix-js-sdk": "^34.5.0"
},
"devDependencies": {
"@types/cli-color": "^2.0.6",
"typescript": "^5.6.2"
},
"engines": {
"node": ">=20.0.0"
}
}
14 changes: 14 additions & 0 deletions examples/node/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"compilerOptions": {
"target": "es2022",
"module": "commonjs",
"esModuleInterop": true,
"noImplicitAny": false,
"noEmit": true,
"skipLibCheck": true,
"allowJs": true,
"checkJs": true,
"strict": true
},
"include": ["app.js"]
}

0 comments on commit 6f7c74f

Please sign in to comment.