Skip to content

Commit 7bc345b

Browse files
author
andypalmi
committed
Merge remote-tracking branch 'origin/main' into fix/snapshot-diff-viewer
2 parents 622655e + 4a0b173 commit 7bc345b

13 files changed

Lines changed: 11456 additions & 273 deletions

File tree

.eslintrc

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"parserOptions": {
1414
"ecmaVersion": 2022
1515
},
16-
"ignorePatterns": ["frontend/dist/", "var/", "*.svg", "*.xml", "**/*.d.ts"],
16+
"ignorePatterns": ["frontend/dist/", "var/", "*.svg", "*.xml", "**/*.d.ts", "frontend/src/types/generated.ts"],
1717
"plugins": ["promise", "no-only-tests"],
1818
"settings": {
1919
"import/core-modules": [ "lottie-web-vue", "@heroicons/vue" ],
@@ -72,20 +72,6 @@
7272
"n/no-missing-import": "off"
7373
}
7474
},
75-
// TypeScript files in the frontend
76-
{
77-
"files": ["frontend/src/**/*.ts"],
78-
"parser": "@typescript-eslint/parser",
79-
"plugins": ["@typescript-eslint"],
80-
"extends": ["plugin:@typescript-eslint/recommended"],
81-
"rules": {
82-
"@typescript-eslint/no-explicit-any": "warn",
83-
"import/no-unresolved": "off",
84-
"n/no-missing-import": "off",
85-
"n/no-missing-require": "off"
86-
}
87-
},
88-
8975
// Frontend runs in the browser and builds with webpack
9076
{
9177
"files": "frontend/**",
@@ -119,6 +105,24 @@
119105
}
120106
},
121107

108+
// TypeScript files in the frontend — must come after the Vue/frontend override so
109+
// @typescript-eslint/parser wins for .ts files (later overrides take precedence)
110+
{
111+
"files": ["frontend/src/**/*.ts"],
112+
"parser": "@typescript-eslint/parser",
113+
"parserOptions": {
114+
"sourceType": "module"
115+
},
116+
"plugins": ["@typescript-eslint"],
117+
"extends": ["plugin:@typescript-eslint/recommended"],
118+
"rules": {
119+
"@typescript-eslint/no-explicit-any": "warn",
120+
"import/no-unresolved": "off",
121+
"n/no-missing-import": "off",
122+
"n/no-missing-require": "off"
123+
}
124+
},
125+
122126
// UI components use kebab-case
123127
{
124128
"files": "frontend/src/ui-components/**",

.github/workflows/branch-deploy.yaml

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
steps:
7171
- name: Generate a token
7272
id: generate_token
73-
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
73+
uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1
7474
with:
7575
app-id: ${{ secrets.GH_BOT_APP_ID }}
7676
private-key: ${{ secrets.GH_BOT_APP_KEY }}
@@ -97,7 +97,7 @@ jobs:
9797
needs.validate-user.outputs.is_org_member == 'true' &&
9898
github.event_name == 'workflow_dispatch' &&
9999
inputs.driver_k8s_branch != 'main'
100-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
100+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
101101
with:
102102
package_name: driver-k8s
103103
publish_package: true
@@ -114,7 +114,7 @@ jobs:
114114
needs.validate-user.outputs.is_org_member == 'true' &&
115115
github.event_name == 'workflow_dispatch' &&
116116
inputs.nr_project_nodes_branch != 'main'
117-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
117+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
118118
with:
119119
package_name: nr-project-nodes
120120
publish_package: true
@@ -131,7 +131,7 @@ jobs:
131131
needs.validate-user.outputs.is_org_member == 'true' &&
132132
github.event_name == 'workflow_dispatch' &&
133133
inputs.nr_file_nodes_branch != 'main'
134-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
134+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
135135
with:
136136
package_name: nr-file-nodes
137137
publish_package: true
@@ -148,7 +148,7 @@ jobs:
148148
needs.validate-user.outputs.is_org_member == 'true' &&
149149
github.event_name == 'workflow_dispatch' &&
150150
inputs.nr_assistant_branch != 'main'
151-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
151+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
152152
with:
153153
package_name: nr-assistant
154154
publish_package: true
@@ -165,7 +165,7 @@ jobs:
165165
needs.validate-user.outputs.is_org_member == 'true' &&
166166
github.event_name == 'workflow_dispatch' &&
167167
inputs.nr_tables_nodes_branch != 'main'
168-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
168+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
169169
with:
170170
package_name: nr-tables-nodes
171171
publish_package: true
@@ -182,7 +182,7 @@ jobs:
182182
needs.validate-user.outputs.is_org_member == 'true' &&
183183
github.event_name == 'workflow_dispatch' &&
184184
inputs.nr_subflow_export_branch != 'main'
185-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
185+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
186186
with:
187187
package_name: nr-subflow-export
188188
publish_package: true
@@ -199,7 +199,7 @@ jobs:
199199
needs.validate-user.outputs.is_org_member == 'true' &&
200200
github.event_name == 'workflow_dispatch' &&
201201
inputs.nr_mqtt_nodes_branch != 'main'
202-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
202+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
203203
with:
204204
package_name: nr-mqtt-nodes
205205
publish_package: true
@@ -229,7 +229,7 @@ jobs:
229229
needs.publish_nr_tables_nodes.result == 'success' ||
230230
needs.publish_nr_mqtt_nodes.result == 'success' ||
231231
needs.publish_nr_subflow_export.result == 'success'
232-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
232+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
233233
with:
234234
package_name: flowfuse-nr-launcher
235235
publish_package: true
@@ -255,7 +255,7 @@ jobs:
255255
needs.validate-user.outputs.is_org_member == 'true' &&
256256
github.event_name == 'workflow_dispatch' &&
257257
(always() && needs.publish_nr_launcher.result == 'success')
258-
uses: flowfuse/github-actions-workflows/.github/workflows/build_container_image.yml@v0.52.0
258+
uses: flowfuse/github-actions-workflows/.github/workflows/build_container_image.yml@v0.76.0
259259
with:
260260
image_name: 'node-red'
261261
dockerfile_path: Dockerfile
@@ -299,7 +299,7 @@ jobs:
299299

300300
- name: Configure AWS credentials for ECR interaction
301301
id: aws-config
302-
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
302+
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0
303303
with:
304304
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ env.AWS_ECR_PUSH_ROLE }}
305305
role-session-name: GithubActionsRoleSession
@@ -309,12 +309,12 @@ jobs:
309309

310310
- name: Login to AWS ECR
311311
id: login-ecr
312-
uses: aws-actions/amazon-ecr-login@f2e9fc6c2b355c1890b65e6f6f0e2ac3e6e22f78 # v2.1.2
312+
uses: aws-actions/amazon-ecr-login@376925c9d111252e87ae59691e5a442dd100ef6a # v2.1.3
313313
with:
314314
mask-password: true
315315

316316
- name: Login to GHCR
317-
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
317+
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
318318
with:
319319
registry: ghcr.io
320320
username: ${{ github.actor }}
@@ -371,7 +371,7 @@ jobs:
371371
372372
- name: Build container image
373373
id: build
374-
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
374+
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
375375
with:
376376
context: .
377377
file: "./ci/Dockerfile"
@@ -383,7 +383,7 @@ jobs:
383383
DOCKER_BUILD_SUMMARY: false
384384

385385
- name: Upload artifact
386-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
386+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
387387
with:
388388
name: k8s-forge
389389
path: /tmp/k8s-forge.tar
@@ -438,7 +438,7 @@ jobs:
438438

439439
- name: Configure AWS credentials for ECR interaction
440440
id: aws-config
441-
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
441+
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0
442442
with:
443443
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ env.AWS_ECR_PUSH_ROLE }}
444444
role-session-name: GithubActionsRoleSession
@@ -448,7 +448,7 @@ jobs:
448448

449449
- name: Login to AWS ECR
450450
id: login-ecr
451-
uses: aws-actions/amazon-ecr-login@f2e9fc6c2b355c1890b65e6f6f0e2ac3e6e22f78 # v2.1.2
451+
uses: aws-actions/amazon-ecr-login@376925c9d111252e87ae59691e5a442dd100ef6a # v2.1.3
452452
with:
453453
mask-password: true
454454

@@ -458,7 +458,7 @@ jobs:
458458
docker push ${{ steps.aws-config.outputs.aws-account-id }}.dkr.ecr.eu-west-1.amazonaws.com/flowforge/${{ env.tagged_image }}-${{ env.timestamp }}
459459
460460
- name: Configure AWS credentials for EKS interaction
461-
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
461+
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0
462462
with:
463463
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ env.AWS_EKS_DEPLOY_ROLE }}
464464
role-session-name: GithubActionsRoleSessio
@@ -669,7 +669,7 @@ jobs:
669669
id-token: write
670670
steps:
671671
- name: Configure AWS credentials for EKS interaction
672-
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
672+
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0
673673
with:
674674
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ env.AWS_EKS_DEPLOY_ROLE }}
675675
role-session-name: GithubActionsRoleSession

.github/workflows/check-migrations.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
with:
1616
ref: ${{ github.event.pull_request.head.sha }}
1717
fetch-depth: 0
18-
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
18+
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
1919
with:
2020
script: |
2121
const { execSync } = require('child_process')

.github/workflows/docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
path: 'website'
3838
- name: Generate a token
3939
id: generate_token
40-
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
40+
uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1
4141
with:
4242
app-id: ${{ secrets.GH_BOT_APP_ID }}
4343
private-key: ${{ secrets.GH_BOT_APP_KEY }}
@@ -51,7 +51,7 @@ jobs:
5151
path: 'blueprint-library'
5252
token: ${{ steps.generate_token.outputs.token }}
5353
- name: Cache image pipeline output
54-
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
54+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
5555
with:
5656
key: img-pipeline-cache
5757
path: website/_site/img
@@ -82,7 +82,7 @@ jobs:
8282
steps:
8383
- name: Generate token
8484
id: generate_token
85-
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
85+
uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1
8686
with:
8787
app-id: ${{ secrets.GH_BOT_APP_ID }}
8888
private-key: ${{ secrets.GH_BOT_APP_KEY }}

.github/workflows/publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
steps:
3434
- name: Check statuses
3535
id: check-tests-jobs-status
36-
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
36+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
3737
with:
3838
github-token: ${{secrets.GITHUB_TOKEN}}
3939
script: |
@@ -97,7 +97,7 @@ jobs:
9797
if: |
9898
needs.check-tests-status.outputs.tests_status == 'success' && github.ref == 'refs/heads/main'
9999
needs: check-tests-status
100-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.52.0'
100+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.76.0'
101101
with:
102102
package_name: flowfuse
103103
build_package: true
@@ -116,7 +116,7 @@ jobs:
116116
steps:
117117
- name: Generate a token
118118
id: generate_token
119-
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
119+
uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1
120120
with:
121121
app-id: ${{ secrets.GH_BOT_APP_ID }}
122122
private-key: ${{ secrets.GH_BOT_APP_KEY }}

.github/workflows/sast-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ concurrency:
1616
jobs:
1717
scan:
1818
name: SAST Scan
19-
uses : flowfuse/github-actions-workflows/.github/workflows/sast_scan.yaml@v0.52.0
19+
uses : flowfuse/github-actions-workflows/.github/workflows/sast_scan.yaml@v0.76.0

0 commit comments

Comments
 (0)