mirror of
https://github.com/immich-app/immich.git
synced 2026-01-10 12:14:17 -08:00
Compare commits
3 Commits
v1.141.0
...
feat/mise-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47d0abb456 | ||
|
|
5fb858a865 | ||
|
|
18084a49ec |
2
.github/.nvmrc
vendored
2
.github/.nvmrc
vendored
@@ -1 +1 @@
|
||||
22.18.0
|
||||
22.19.0
|
||||
|
||||
45
.github/workflows/test.yml
vendored
45
.github/workflows/test.yml
vendored
@@ -72,27 +72,12 @@ jobs:
|
||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: '**/pnpm-lock.yaml'
|
||||
- name: Run package manager install
|
||||
run: pnpm install
|
||||
- name: Run linter
|
||||
run: pnpm lint
|
||||
if: ${{ !cancelled() }}
|
||||
- name: Run formatter
|
||||
run: pnpm format
|
||||
if: ${{ !cancelled() }}
|
||||
- name: Run tsc
|
||||
run: pnpm check
|
||||
if: ${{ !cancelled() }}
|
||||
- name: Run small tests & coverage
|
||||
run: pnpm test
|
||||
# - name: Setup Mise
|
||||
# uses: immich-app/devtools/actions/use-mise@697a75e2c3186d3c037c2c159855cf2d566542ba # use-mise-action-0.0.1
|
||||
- name: Setup mise
|
||||
uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0
|
||||
- name: Run small checks
|
||||
run: mise run server:checks-small
|
||||
if: ${{ !cancelled() }}
|
||||
cli-unit-tests:
|
||||
name: Unit Test CLI
|
||||
@@ -332,18 +317,12 @@ jobs:
|
||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: '**/pnpm-lock.yaml'
|
||||
- name: Run pnpm install
|
||||
run: SHARP_IGNORE_GLOBAL_LIBVIPS=true pnpm install --frozen-lockfile
|
||||
- name: Run medium tests
|
||||
run: pnpm test:medium
|
||||
# - name: Setup Mise
|
||||
# uses: immich-app/devtools/actions/use-mise@697a75e2c3186d3c037c2c159855cf2d566542ba # use-mise-action-0.0.1
|
||||
- name: Setup mise
|
||||
uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0
|
||||
- name: Run medium checks
|
||||
run: mise run server:checks-medium
|
||||
if: ${{ !cancelled() }}
|
||||
e2e-tests-server-cli:
|
||||
name: End-to-End Tests (Server & CLI)
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
22.19.0
|
||||
|
||||
@@ -69,6 +69,6 @@
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.18.0"
|
||||
"node": "22.19.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
22.19.0
|
||||
|
||||
@@ -60,6 +60,6 @@
|
||||
"node": ">=20"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.18.0"
|
||||
"node": "22.19.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
22.19.0
|
||||
|
||||
@@ -54,6 +54,6 @@
|
||||
"vitest": "^3.0.0"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.18.0"
|
||||
"node": "22.19.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,13 +16,13 @@ size = 8821083
|
||||
url = "https://github.com/CQLabs/homebrew-dcm/releases/download/1.31.4/dcm-linux-x64-release.zip"
|
||||
|
||||
[tools.node]
|
||||
version = "22.18.0"
|
||||
version = "22.19.0"
|
||||
backend = "core:node"
|
||||
|
||||
[tools.node.platforms.linux-x64]
|
||||
checksum = "sha256:a2e703725d8683be86bb5da967bf8272f4518bdaf10f21389e2b2c9eaeae8c8a"
|
||||
size = 54824343
|
||||
url = "https://nodejs.org/dist/v22.18.0/node-v22.18.0-linux-x64.tar.gz"
|
||||
checksum = "sha256:d36e56998220085782c0ca965f9d51b7726335aed2f5fc7321c6c0ad233aa96d"
|
||||
size = 54907188
|
||||
url = "https://nodejs.org/dist/v22.19.0/node-v22.19.0-linux-x64.tar.gz"
|
||||
|
||||
[tools.pnpm]
|
||||
version = "10.14.0"
|
||||
|
||||
310
mise.toml
310
mise.toml
@@ -1,5 +1,5 @@
|
||||
[tools]
|
||||
node = "22.18.0"
|
||||
node = "22.19.0"
|
||||
flutter = "3.32.8"
|
||||
pnpm = "10.14.0"
|
||||
dart = "3.8.2"
|
||||
@@ -13,3 +13,311 @@ postinstall = "chmod +x $MISE_TOOL_INSTALL_PATH/dcm"
|
||||
experimental = true
|
||||
lockfile = true
|
||||
pin = true
|
||||
|
||||
# .github
|
||||
[tasks."github:install"]
|
||||
run = "pnpm install --filter github --frozen-lockfile"
|
||||
|
||||
[tasks."github:format"]
|
||||
env.PATH = "{{config_root}}/.github/node_modules/.bin:{{env.PATH}}"
|
||||
dir = ".github"
|
||||
run = "prettier --check ."
|
||||
|
||||
[tasks."github:format-fix"]
|
||||
env.PATH = "{{config_root}}/.github/node_modules/.bin:{{env.PATH}}"
|
||||
dir = ".github"
|
||||
run = "prettier --write ."
|
||||
|
||||
# @immich/cli
|
||||
[tasks."cli:install"]
|
||||
run = "pnpm install --filter @immich/cli --frozen-lockfile"
|
||||
|
||||
[tasks."cli:build"]
|
||||
env.PATH = "{{config_root}}/cli/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "cli"
|
||||
run = "vite build"
|
||||
|
||||
[tasks."cli:test"]
|
||||
env.PATH = "{{config_root}}/cli/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "cli"
|
||||
run = "vite"
|
||||
|
||||
[tasks."cli:lint"]
|
||||
env.PATH = "{{config_root}}/cli/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "cli"
|
||||
run = "eslint \"src/**/*.ts\" --max-warnings 0"
|
||||
|
||||
[tasks."cli:lint-fix"]
|
||||
run = "mise run cli:lint --fix"
|
||||
|
||||
[tasks."cli:format"]
|
||||
env.PATH = "{{config_root}}/cli/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "cli"
|
||||
run = "prettier --check ."
|
||||
|
||||
[tasks."cli:format-fix"]
|
||||
env.PATH = "{{config_root}}/cli/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "cli"
|
||||
run = "prettier --write ."
|
||||
|
||||
[tasks."cli:check"]
|
||||
env.PATH = "{{config_root}}/cli/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "cli"
|
||||
run = "tsc --noEmit"
|
||||
|
||||
# @immich/sdk
|
||||
[tasks."sdk:install"]
|
||||
run = "pnpm install --filter @immich/sdk --frozen-lockfile"
|
||||
|
||||
[tasks."sdk:build"]
|
||||
env.PATH = "{{config_root}}/open-api/typescript-sdk/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "./open-api/typescript-sdk"
|
||||
run = "tsc"
|
||||
|
||||
# docs
|
||||
[tasks."docs:install"]
|
||||
run = "pnpm install --filter documentation --frozen-lockfile"
|
||||
|
||||
[tasks."docs:start"]
|
||||
env.PATH = "{{config_root}}/docs/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "docs"
|
||||
run = "docusaurus --port 3005"
|
||||
|
||||
[tasks."docs:build"]
|
||||
env.PATH = "{{config_root}}/docs/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "docs"
|
||||
run = [
|
||||
"jq -c < ../open-api/immich-openapi-specs.json > ./static/openapi.json || exit 0",
|
||||
"docusaurus build",
|
||||
]
|
||||
|
||||
|
||||
[tasks."docs:preview"]
|
||||
env.PATH = "{{config_root}}/docs/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "docs"
|
||||
run = "docusaurus serve"
|
||||
|
||||
|
||||
[tasks."docs:format"]
|
||||
env.PATH = "{{config_root}}/docs/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "docs"
|
||||
run = "prettier --check ."
|
||||
|
||||
[tasks."docs:format-fix"]
|
||||
env.PATH = "{{config_root}}/docs/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "docs"
|
||||
run = "prettier --write ."
|
||||
|
||||
|
||||
# e2e
|
||||
[tasks."e2e:install"]
|
||||
run = "pnpm install --filter immich-e2e --frozen-lockfile"
|
||||
|
||||
[tasks."e2e:test"]
|
||||
env.PATH = "{{config_root}}/e2e/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "e2e"
|
||||
run = "vitest --run"
|
||||
|
||||
[tasks."e2e:test-web"]
|
||||
env.PATH = "{{config_root}}/e2e/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "e2e"
|
||||
run = "playwright test"
|
||||
|
||||
[tasks."e2e:format"]
|
||||
env.PATH = "{{config_root}}/e2e/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "e2e"
|
||||
run = "prettier --check ."
|
||||
|
||||
[tasks."e2e:format-fix"]
|
||||
env.PATH = "{{config_root}}/e2e/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "e2e"
|
||||
run = "prettier --write ."
|
||||
|
||||
[tasks."e2e:lint"]
|
||||
env.PATH = "{{config_root}}/e2e/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "e2e"
|
||||
run = "eslint \"src/**/*.ts\" --max-warnings 0"
|
||||
|
||||
[tasks."e2e:lint-fix"]
|
||||
run = "mise run e2e:lint --fix"
|
||||
|
||||
[tasks."e2e:check"]
|
||||
env.PATH = "{{config_root}}/e2e/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "e2e"
|
||||
run = "tsc --noEmit"
|
||||
|
||||
# i18n
|
||||
[tasks."i18n:format"]
|
||||
run = "mise run i18n:format-fix"
|
||||
|
||||
[tasks."i18n:format-fix"]
|
||||
run = "pnpm dlx sort-json ./i18n/*.json"
|
||||
|
||||
|
||||
# server
|
||||
[tasks."server:install"]
|
||||
run = "pnpm install --filter immich --frozen-lockfile"
|
||||
|
||||
[tasks."server:build"]
|
||||
env.PATH = "{{config_root}}/server/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "server"
|
||||
run = "nest build"
|
||||
|
||||
[tasks."server:test"]
|
||||
env.PATH = "{{config_root}}/server/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "server"
|
||||
run = [
|
||||
"pwd",
|
||||
"ls -lh",
|
||||
"echo $PATH",
|
||||
"which vitest",
|
||||
"vitest --config test/vitest.config.mjs",
|
||||
]
|
||||
|
||||
[tasks."server:test-medium"]
|
||||
env.PATH = "{{config_root}}/server/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "server"
|
||||
run = "vitest --config test/vitest.config.medium.mjs"
|
||||
|
||||
[tasks."server:format"]
|
||||
env.PATH = "{{config_root}}/server/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "server"
|
||||
run = "prettier --check ."
|
||||
|
||||
[tasks."server:format-fix"]
|
||||
env.PATH = "{{config_root}}/server/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "server"
|
||||
run = "prettier --write ."
|
||||
|
||||
[tasks."server:lint"]
|
||||
env.PATH = "{{config_root}}/server/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "server"
|
||||
run = "eslint \"src/**/*.ts\" \"test/**/*.ts\" --max-warnings 0"
|
||||
|
||||
[tasks."server:lint-fix"]
|
||||
run = "mise run server:lint --fix"
|
||||
|
||||
[tasks."server:check"]
|
||||
env.PATH = "{{config_root}}/server/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "server"
|
||||
run = "tsc --noEmit"
|
||||
|
||||
[tasks."server:sql"]
|
||||
dir = "server"
|
||||
run = "node ./dist/bin/sync-open-api.js"
|
||||
|
||||
[tasks."server:open-api"]
|
||||
dir = "server"
|
||||
run = "node ./dist/bin/sync-open-api.js"
|
||||
|
||||
[tasks."server:migrations"]
|
||||
dir = "server"
|
||||
run = "node ./dist/bin/migrations.js"
|
||||
description = "Run database migration commands (create, generate, run, debug, or query)"
|
||||
|
||||
[tasks."server:schema-drop"]
|
||||
run = "mise run server:migrations query 'DROP schema public cascade; CREATE schema public;'"
|
||||
|
||||
[tasks."server:schema-reset"]
|
||||
run = "mise run server:schema-drop && mise run server:migrations run"
|
||||
|
||||
[tasks."server:email-dev"]
|
||||
env.PATH = "{{config_root}}/server/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "server"
|
||||
run = "email dev -p 3050 --dir src/emails"
|
||||
|
||||
[tasks."server:checks-small"]
|
||||
depends = "server:install"
|
||||
run = [
|
||||
"mise run server:format",
|
||||
"mise run server:lint",
|
||||
"mise run server:check",
|
||||
"mise run server:test --run",
|
||||
]
|
||||
|
||||
[tasks."server:checks-medium"]
|
||||
depends = "server:install"
|
||||
run = ["mise run server:test-medium --run"]
|
||||
|
||||
[tasks."server:checks"]
|
||||
run = ["mise run server:checks-small", "mise run server:checks-medium"]
|
||||
|
||||
# web
|
||||
[tasks."web:install"]
|
||||
run = "pnpm install --filter immich-web --frozen-lockfile"
|
||||
|
||||
[tasks."web:svelte-kit-sync"]
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "svelte-kit sync"
|
||||
|
||||
[tasks."web:build"]
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "vite build"
|
||||
|
||||
[tasks."web:build-stats"]
|
||||
env.BUILD_STATS = "true"
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "vite build"
|
||||
|
||||
[tasks."web:preview"]
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "vite preview"
|
||||
|
||||
[tasks."web:start"]
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "vite dev --host 0.0.0.0 --port 3000"
|
||||
|
||||
[tasks."web:test"]
|
||||
depends = "web:svelte-kit-sync"
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "vitest"
|
||||
|
||||
[tasks."web:format"]
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "prettier --check ."
|
||||
|
||||
[tasks."web:format-fix"]
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "prettier --write ."
|
||||
|
||||
[tasks."web:lint"]
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "eslint . --max-warnings 0"
|
||||
|
||||
[tasks."web:lint-p"]
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "eslint-p . --max-warnings 0 --concurrency=4"
|
||||
|
||||
[tasks."web:lint-fix"]
|
||||
run = "mise run web:lint --fix"
|
||||
|
||||
[tasks."web:check"]
|
||||
depends = "web:svelte-kit-sync"
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "tsc --noEmit"
|
||||
|
||||
[tasks."web:check-svelte"]
|
||||
depends = "web:svelte-kit-sync"
|
||||
env.PATH = "{{config_root}}/web/node_modules/.bin:{{env.PATH}}"
|
||||
dir = "web"
|
||||
run = "svelte-check --no-tsconfig --fail-on-warnings --compiler-warnings 'reactive_declaration_non_reactive_property:ignore' --ignore src/lib/components/photos-page/asset-grid.svelte"
|
||||
|
||||
[tasks."web:checklist"]
|
||||
run = [
|
||||
"mise run web:install",
|
||||
"mise run web:format",
|
||||
"mise run web:check",
|
||||
"mise run web:test --run",
|
||||
"mise run web:lint",
|
||||
]
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
22.19.0
|
||||
|
||||
@@ -28,6 +28,6 @@
|
||||
"directory": "open-api/typescript-sdk"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.18.0"
|
||||
"node": "22.19.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
22.19.0
|
||||
|
||||
@@ -173,7 +173,7 @@
|
||||
"vitest": "^3.0.0"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.18.0"
|
||||
"node": "22.19.0"
|
||||
},
|
||||
"overrides": {
|
||||
"sharp": "^0.34.3"
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
22.19.0
|
||||
|
||||
@@ -109,6 +109,6 @@
|
||||
"vitest": "^3.0.0"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.18.0"
|
||||
"node": "22.19.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user