Skip to content

Commit face19f

Browse files
authored
chore(web): prepare package.json and env files for monorepo tooling (#1180)
- **Chores** - Streamlined the installation and setup workflow by consolidating multiple commands into a simpler process. - Updated cleaning procedures to ensure complete removal of build artifacts and dependencies. - Adjusted environment file handling for clearer configuration management.
1 parent 443b608 commit face19f

File tree

7 files changed

+63
-65
lines changed

7 files changed

+63
-65
lines changed

justfile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,15 @@
44
default: list-commands
55

66
list-commands:
7-
@just --list --justfile {{justfile()}} --list-heading $'\nMonorepo recipes:\n'
7+
@just --list --justfile {{justfile()}} --list-heading $'\nMonorepo recipes:\n'
88

99
# Prepares the repo for development
1010
setup:
1111
# ignore personal vscode settings. to contribute a change, use `just stop-ignore $file`
1212
@just ignore .vscode/settings.json api/.vscode/settings.json web/.vscode/settings.json
1313
# ignore api local-state files
1414
@just ignore api/dev/states/myservers.cfg api/dev/Unraid.net/myservers.cfg
15-
16-
just api/setup
17-
just web/setup
15+
pnpm install
1816

1917
# restore notification files under api/dev
2018
restore-notifications:

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
{
22
"name": "unraid-api-monorepo",
3-
"private": true,
43
"version": "4.1.2",
4+
"private": true,
55
"scripts": {
66
"build": "pnpm -r build",
7+
"deps:check": "manypkg check",
78
"dev": "pnpm -r dev",
8-
"test": "pnpm -r test",
99
"lint": "pnpm -r lint",
1010
"lint:fix": "pnpm -r lint:fix",
11-
"check": "manypkg check"
11+
"test": "pnpm -r test"
12+
},
13+
"dependencies": {
14+
"@manypkg/cli": "^0.23.0"
1215
},
16+
"packageManager": "[email protected]",
1317
"pnpm": {
1418
"peerDependencyRules": {
1519
"allowAny": [
@@ -28,9 +32,5 @@
2832
"ssh2",
2933
"vue-demi"
3034
]
31-
},
32-
"dependencies": {
33-
"@manypkg/cli": "^0.23.0"
34-
},
35-
"packageManager": "[email protected]"
35+
}
3636
}

unraid-ui/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
"test": "vitest",
2020
"test:ui": "vitest --ui",
2121
"coverage": "vitest run --coverage",
22-
"clean": "rm -rf dist",
22+
"clean": "pnpm run clean:build",
23+
"clean:build": "pnpx rimraf dist",
24+
"clean:deps": "pnpx rimraf node_modules",
2325
"prebuild": "npm run clean",
2426
"typecheck": "vue-tsc --noEmit",
2527
"storybook": "storybook dev -p 6006",
File renamed without changes.

web/.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
!.env.staging
1+
# Env vars here shouldn't be secret
2+
!.env.*
3+
!.env

web/justfile

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@ default:
44
@just --list --justfile {{justfile()}} --list-heading $'\nWeb project recipes:\n'
55
@just list-commands
66

7-
setup:
8-
just ../unraid-ui/setup
9-
cp .env.example .env
10-
npm install
11-
127
clean:
138
rm -rf .nuxt
149
rm -rf node_modules

web/package.json

Lines changed: 47 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -3,59 +3,29 @@
33
"version": "4.1.2",
44
"private": true,
55
"scripts": {
6-
"dev": "nuxt dev",
7-
"lint": "eslint .",
8-
"lint:fix": "eslint . --fix",
9-
"type-check": "nuxi typecheck",
106
"prebuild:dev": "./scripts/prebuild-webgui-set-env.sh .env.staging",
11-
"build:dev": "nuxt build && pnpm run manifest-ts && pnpm run deploy-to-unraid:dev",
12-
"postbuild:dev": "./scripts/postbuild-webgui-restore-env.sh",
137
"prebuild:webgui": "./scripts/prebuild-webgui-set-env.sh",
8+
"build": "NODE_ENV=production nuxt build && pnpm run manifest-ts",
9+
"build:dev": "nuxt build && pnpm run manifest-ts && pnpm run deploy-to-unraid:dev",
1410
"build:webgui": "pnpm run type-check && nuxt build && pnpm run manifest-ts && pnpm run copy-to-webgui-repo",
11+
"postbuild:dev": "./scripts/postbuild-webgui-restore-env.sh",
1512
"postbuild:webgui": "./scripts/postbuild-webgui-restore-env.sh",
16-
"build": "NODE_ENV=production nuxt build && pnpm run manifest-ts",
17-
"deploy-to-unraid:dev": "./scripts/deploy-dev.sh",
13+
"clean": "pnpx rimraf .nuxt node_modules",
14+
"codegen": "graphql-codegen --config codegen.ts -r dotenv/config",
15+
"codegen:watch": "graphql-codegen --config codegen.ts --watch -r dotenv/config",
1816
"copy-to-webgui-repo": "./scripts/copy-to-webgui-repo.sh",
19-
"manifest-ts": "node ./scripts/add-timestamp-webcomponent-manifest.js",
17+
"deploy-to-unraid:dev": "./scripts/deploy-dev.sh",
18+
"dev": "nuxt dev",
2019
"generate": "nuxt generate",
21-
"preview": "nuxt preview",
2220
"postinstall": "nuxt prepare",
21+
"lint": "eslint .",
22+
"lint:fix": "eslint . --fix",
23+
"manifest-ts": "node ./scripts/add-timestamp-webcomponent-manifest.js",
24+
"preview": "nuxt preview",
2325
"serve": "NODE_ENV=production PORT=${PORT:-4321} node .output/server/index.mjs",
24-
"codegen": "graphql-codegen --config codegen.ts -r dotenv/config",
25-
"codegen:watch": "graphql-codegen --config codegen.ts --watch -r dotenv/config",
2626
"test": "vitest",
27-
"test:ci": "vitest run"
28-
},
29-
"devDependencies": {
30-
"@graphql-codegen/cli": "^5.0.3",
31-
"@graphql-codegen/client-preset": "^4.5.1",
32-
"@graphql-codegen/introspection": "^4.0.3",
33-
"@ianvs/prettier-plugin-sort-imports": "^4.4.0",
34-
"@nuxt/devtools": "^1.6.4",
35-
"@nuxt/eslint": "^0.7.3",
36-
"@nuxtjs/tailwindcss": "^6.12.2",
37-
"@rollup/plugin-strip": "^3.0.4",
38-
"@tailwindcss/typography": "^0.5.15",
39-
"@types/crypto-js": "^4.2.2",
40-
"@types/eslint-config-prettier": "^6.11.3",
41-
"@types/node": "^22",
42-
"@types/semver": "^7.5.8",
43-
"@unraid/tailwind-rem-to-rem": "^1.1.0",
44-
"@vue/apollo-util": "^4.0.0-beta.6",
45-
"@vueuse/core": "^12.0.0",
46-
"@vueuse/nuxt": "^12.0.0",
47-
"eslint-config-prettier": "^9.1.0",
48-
"lodash-es": "^4.17.21",
49-
"nuxt": "^3.14.1592",
50-
"nuxt-custom-elements": "2.0.0-beta.18",
51-
"prettier": "3.5.1",
52-
"prettier-plugin-tailwindcss": "^0.6.9",
53-
"shadcn-nuxt": "^0.11.3",
54-
"tailwindcss-animate": "^1.0.7",
55-
"terser": "^5.37.0",
56-
"vite-plugin-remove-console": "^2.2.0",
57-
"vitest": "^2.1.3",
58-
"vue-tsc": "^2.1.10"
27+
"test:ci": "vitest run",
28+
"type-check": "nuxi typecheck"
5929
},
6030
"dependencies": {
6131
"@apollo/client": "^3.12.3",
@@ -89,14 +59,45 @@
8959
"vue-i18n": "^10.0.5",
9060
"wretch": "^2.11.0"
9161
},
62+
"devDependencies": {
63+
"@graphql-codegen/cli": "^5.0.3",
64+
"@graphql-codegen/client-preset": "^4.5.1",
65+
"@graphql-codegen/introspection": "^4.0.3",
66+
"@ianvs/prettier-plugin-sort-imports": "^4.4.0",
67+
"@nuxt/devtools": "^1.6.4",
68+
"@nuxt/eslint": "^0.7.3",
69+
"@nuxtjs/tailwindcss": "^6.12.2",
70+
"@rollup/plugin-strip": "^3.0.4",
71+
"@tailwindcss/typography": "^0.5.15",
72+
"@types/crypto-js": "^4.2.2",
73+
"@types/eslint-config-prettier": "^6.11.3",
74+
"@types/node": "^22",
75+
"@types/semver": "^7.5.8",
76+
"@unraid/tailwind-rem-to-rem": "^1.1.0",
77+
"@vue/apollo-util": "^4.0.0-beta.6",
78+
"@vueuse/core": "^12.0.0",
79+
"@vueuse/nuxt": "^12.0.0",
80+
"eslint-config-prettier": "^9.1.0",
81+
"lodash-es": "^4.17.21",
82+
"nuxt": "^3.14.1592",
83+
"nuxt-custom-elements": "2.0.0-beta.18",
84+
"prettier": "3.5.1",
85+
"prettier-plugin-tailwindcss": "^0.6.9",
86+
"shadcn-nuxt": "^0.11.3",
87+
"tailwindcss-animate": "^1.0.7",
88+
"terser": "^5.37.0",
89+
"vite-plugin-remove-console": "^2.2.0",
90+
"vitest": "^2.1.3",
91+
"vue-tsc": "^2.1.10"
92+
},
9293
"optionalDependencies": {
9394
"@rollup/rollup-linux-x64-gnu": "^4.30.1"
9495
},
96+
"packageManager": "[email protected]",
9597
"overrides": {
9698
"vue": "latest",
9799
"radix-vue": {
98100
"@floating-ui/vue": "^1.1.5"
99101
}
100-
},
101-
"packageManager": "[email protected]"
102+
}
102103
}

0 commit comments

Comments
 (0)