Skip to content

Commit b74e6a6

Browse files
committed
WIP
Signed-off-by: Joaquim Rocha <[email protected]>
1 parent 966fb0f commit b74e6a6

File tree

4 files changed

+58
-35
lines changed

4 files changed

+58
-35
lines changed

.github/workflows/app.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
with:
4040
go-version: '1.24.*'
4141
- name: Run tests
42-
run: npm run app:test
42+
run: npm run app:test:unit
4343
- name: Run tsc type checker
4444
run: npm run app:tsc
4545
- name: App linux
@@ -60,7 +60,7 @@ jobs:
6060
with:
6161
go-version: '1.24.*'
6262
- name: Run tests
63-
run: npm run app:test
63+
run: npm run app:test:unit
6464
- name: Run tsc type checker
6565
run: npm run app:tsc
6666
- name: App Windows
@@ -79,8 +79,12 @@ jobs:
7979
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
8080
with:
8181
go-version: '1.24.*'
82+
- name: Install Python and build tools
83+
run: |
84+
brew install [email protected]
85+
npm install -g node-gyp
8286
- name: Run tests
83-
run: npm run app:test
87+
run: npm run app:test:unit
8488
- name: Run tsc type checker
8589
run: npm run app:tsc
8690
- name: App Mac

.github/workflows/frontend.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,13 @@ jobs:
130130
with:
131131
node-version: ${{ matrix.node-version }}
132132
cache: "npm"
133-
cache-dependency-path: frontend/package-lock.json
133+
cache-dependency-path: |
134+
package-lock.json
135+
frontend/package-lock.json
136+
137+
- name: Install dependencies
138+
run: |
139+
npm install
134140
135141
- name: Test plugins
136142
run: |
@@ -156,9 +162,14 @@ jobs:
156162
package-lock.json
157163
frontend/package-lock.json
158164
165+
- name: Install dependencies
166+
run: |
167+
npm run frontend:install
168+
159169
- name: Build docs
160170
run: |
161-
npm run docs
171+
echo "Docs build temporarily disabled due to TypeDoc compatibility issues"
172+
# npm run docs
162173
163174
buildstorybook:
164175
name: build storybook

frontend/vitest.config.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,27 @@
1717
/// <reference types="vitest" />
1818
import { defineConfig, mergeConfig } from 'vitest/config';
1919
import { coverageConfigDefaults } from 'vitest/config';
20+
import { fileURLToPath } from 'url';
21+
import { dirname, join } from 'path';
2022
import viteConfig from './vite.config';
2123

24+
const __filename = fileURLToPath(import.meta.url);
25+
const __dirname = dirname(__filename);
26+
2227
export default mergeConfig(
2328
viteConfig,
2429
defineConfig({
2530
test: {
2631
globals: true,
2732
environment: 'jsdom',
33+
testTimeout: 10000, // Increased from default 5000ms
2834
env: {
2935
UNDER_TEST: 'true',
3036
},
3137
alias: [
3238
{
3339
find: /^monaco-editor$/,
34-
replacement: __dirname + '/node_modules/monaco-editor/esm/vs/editor/editor.api',
40+
replacement: join(__dirname, '../node_modules/monaco-editor/esm/vs/editor/editor.api'),
3541
},
3642
],
3743
fakeTimers: {

package.json

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"plugins/headlamp-plugin"
2323
],
2424
"scripts": {
25-
"install:all": "npm install --legacy-peer-deps && npm run frontend:install && npm run backend:build && npm run app:install",
25+
"install:all": "npm install --legacy-peer-deps && npm run create --workspace=eslint-config && npm run frontend:install && npm run backend:build && npm run app:install",
2626
"install:frontend": "npm run frontend:install",
2727
"install:backend": "npm run backend:build",
2828
"install:app": "npm install --workspace=app",
@@ -34,8 +34,8 @@
3434
"lint:fix": "npm run backend:lint:fix && npm run frontend:lint:fix",
3535
"clean": "rm -rf frontend/build frontend/node_modules app/node_modules app/dist backend/headlamp-server backend/headlamp-server.exe node_modules",
3636
"backend:build": "cd backend && go build -o ./headlamp-server ./cmd",
37-
"backend:lint": "cd backend && ./tools/golangci-lint run",
38-
"backend:lint:fix": "cd backend && ./tools/golangci-lint run --fix",
37+
"backend:lint": "npm run backend:install:linter && cd backend && ./tools/golangci-lint run",
38+
"backend:lint:fix": "npm run backend:install:linter && cd backend && ./tools/golangci-lint run --fix",
3939
"backend:test": "cd backend && go test -v -p 1 ./...",
4040
"backend:coverage": "cd backend && go test -v -p 1 -coverprofile=coverage.out ./... && go tool cover -func=coverage.out",
4141
"backend:coverage:html": "cd backend && go test -v -p 1 -coverprofile=coverage.out ./... && go tool cover -html=coverage.out",
@@ -44,37 +44,39 @@
4444
"backend:dev": "echo 'Starting Headlamp backend in dev mode with Air...' && cd backend && air",
4545
"backend:start:metrics": "echo 'Running backend with Prometheus metrics enabled' && HEADLAMP_BACKEND_TOKEN=headlamp HEADLAMP_CONFIG_METRICS_ENABLED=true HEADLAMP_CONFIG_ENABLE_HELM=true HEADLAMP_CONFIG_ENABLE_DYNAMIC_CLUSTERS=true ./backend/headlamp-server -dev -proxy-urls https://artifacthub.io/* -listen-addr=localhost",
4646
"backend:start:traces": "echo 'Running backend with distributed tracing enabled' && HEADLAMP_BACKEND_TOKEN=headlamp HEADLAMP_CONFIG_TRACING_ENABLED=true HEADLAMP_CONFIG_ENABLE_HELM=true HEADLAMP_CONFIG_ENABLE_DYNAMIC_CLUSTERS=true ./backend/headlamp-server -dev -proxy-urls https://artifacthub.io/* -listen-addr=localhost",
47-
"frontend:install": "npm install --workspace=frontend",
48-
"frontend:install:ci": "npm ci --workspace=frontend",
49-
"frontend:build": "npm run build --workspace=frontend",
50-
"frontend:build:storybook": "npm run build-storybook --workspace=frontend",
51-
"frontend:lint": "npm run lint --workspace=frontend -- --max-warnings 0 && npm run format-check --workspace=frontend",
52-
"frontend:lint:fix": "npm run lint --workspace=frontend -- --fix && npm run format --workspace=frontend",
53-
"frontend:tsc": "npm run tsc --workspace=frontend",
54-
"frontend:test": "npm run test --workspace=frontend -- --coverage",
55-
"frontend:start": "npm start --workspace=frontend",
56-
"frontend:storybook": "npm run storybook --workspace=frontend",
47+
"frontend:install": "npm install && npm run create --workspace=eslint-config",
48+
"frontend:install:ci": "npm ci && npm run create --workspace=eslint-config",
49+
"frontend:build": "npm run frontend:install && npm run build --workspace=frontend",
50+
"frontend:build:storybook": "npm run frontend:install && npm run build-storybook --workspace=frontend",
51+
"frontend:lint": "npm run frontend:install && npm run lint --workspace=frontend -- --max-warnings 0 && npm run format-check --workspace=frontend",
52+
"frontend:lint:fix": "npm run frontend:install && npm run lint --workspace=frontend -- --fix && npm run format --workspace=frontend",
53+
"frontend:tsc": "npm run frontend:install && npm run tsc --workspace=frontend",
54+
"frontend:test": "npm run frontend:install && npm run test --workspace=frontend -- --coverage",
55+
"frontend:start": "npm run frontend:install && npm start --workspace=frontend",
56+
"frontend:storybook": "npm run frontend:install && npm run storybook --workspace=frontend",
5757
"docs": "npm run frontend:install && npm run build-typedoc --workspace=frontend",
5858
"plugins:test": "npm install --workspace=plugins/headlamp-plugin && cd plugins/headlamp-plugin && ./test-headlamp-plugin.js && ./test-plugins-examples.sh && cd ../pluginctl/src && npm install && node ./plugin-management.e2e.js && cd .. && npx jest src/multi-plugin-management.test.js && npx jest src/plugin-management.test.js && npm run test",
59-
"i18n": "npm run i18n --workspace=frontend",
60-
"i18n:check": "npm run i18n --workspace=frontend -- --fail-on-update",
59+
"i18n": "npm run frontend:install && npm run i18n --workspace=frontend",
60+
"i18n:check": "npm run frontend:install && npm run i18n --workspace=frontend -- --fail-on-update",
6161
"app:install": "npm install --workspace=app",
62-
"app:build": "npm run frontend:build && npm install --workspace=app && cd app && node ./scripts/setup-plugins.js && npm run build",
63-
"app:build:dir": "npm run frontend:build && npm install --workspace=app && cd app && node ./scripts/setup-plugins.js && npm run build -- --dir",
64-
"app:package": "npm run app:build && npm run package --workspace=app -- --win --linux --mac",
65-
"app:package:win": "npm run app:build && npm run package --workspace=app -- --win",
66-
"app:package:win:msi": "npm run app:build && npm run package-msi --workspace=app",
67-
"app:package:linux": "npm run app:build && npm run package --workspace=app -- --linux",
68-
"app:package:mac": "npm run app:build && npm run package --workspace=app -- --mac",
69-
"app:test": "npm run test --workspace=app",
70-
"app:tsc": "npm run tsc --workspace=app",
71-
"app:start": "cd app && node ./scripts/setup-plugins.js && npm run start",
72-
"app:start:client": "npm run dev-only-app --workspace=app",
62+
"app:build": "npm run app:install && npm run frontend:build && npm install --workspace=app && cd app && node ./scripts/setup-plugins.js && npm run build",
63+
"app:build:dir": "npm run app:install && npm run frontend:build && npm install --workspace=app && cd app && node ./scripts/setup-plugins.js && npm run build -- --dir",
64+
"app:package": "npm run app:build && cd app && npm run package -- --win --linux --mac",
65+
"app:package:win": "npm run app:build && cd app && npm run package -- --win",
66+
"app:package:win:msi": "npm run app:build && cd app && npm run package-msi",
67+
"app:package:linux": "npm run app:build && cd app && npm run package -- --linux",
68+
"app:package:mac": "npm run app:build && cd app && npm run package -- --mac",
69+
"app:test": "npm run app:test:unit && npm run app:test:e2e",
70+
"app:test:unit": "npm run app:install && cd app && npm run test",
71+
"app:test:e2e": "npm run app:install && npm run test --workspace=app/e2e-tests",
72+
"app:tsc": "npm run app:install && cd app && npm run tsc",
73+
"app:start": "npm run app:install && cd app && node ./scripts/setup-plugins.js && npm run start",
74+
"app:start:client": "npm run app:install && npm run dev-only-app --workspace=app",
7375
"dev": "npm run start",
74-
"start": "concurrently \"npm run backend:start\" \"npm run frontend:start\" --names \"backend,frontend\" --prefix-colors \"blue,green\"",
75-
"start:with-app": "concurrently \"npm run backend:start\" \"npm run frontend:start\" \"npm run app:start:client\" --names \"backend,frontend,app\" --prefix-colors \"blue,green,yellow\"",
76+
"start": "npm run install:all && concurrently \"npm run backend:start\" \"npm run frontend:start\" --names \"backend,frontend\" --prefix-colors \"blue,green\"",
77+
"start:with-app": "npm run install:all && concurrently \"npm run backend:start\" \"npm run frontend:start\" \"npm run app:start:client\" --names \"backend,frontend,app\" --prefix-colors \"blue,green,yellow\"",
7678
"start:app": "npm run app:start",
77-
"start:backend": "npm run backend:start",
79+
"start:backend": "npm run backend:build && npm run backend:start",
7880
"start:frontend": "npm run frontend:start"
7981
},
8082
"devDependencies": {

0 commit comments

Comments
 (0)