0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-03-11 02:23:09 -05:00
immich/cli
Eli Gao e2c34f17ba
feat(cli): watch paths for auto uploading daemon (#14923)
* feat(cli): watch paths for auto uploading daemon

* chore: update package-lock

* test(cli): Batcher util calss

* feat(cli): expose batcher params from startWatch()

* test(cli): startWatch() for `--watch`

* refactor(cli): more reliable watcher

* feat(cli): disable progress bar on --no-progress or --watch

* fix(cli): extensions match when upload with watch

* feat(cli): basic logs without progress on upload

* feat(cli): hide progress in uploadFiles()

* refactor(cli): use promise-based setTimeout() instead of hand crafted sleep()

* refactor(cli): unexport UPLOAD_WATCH consts

* refactor(cli): rename fsWatchListener() to onFile()

* test(cli): prefix dot to mocked getSupportedMediaTypes()

* test(cli): add tests for ignored patterns/ unsupported exts

* refactor(cli): minor changes for code reviews

* feat(cli): disable onFile logs when progress bar is enabled
2025-03-03 13:05:32 -05:00
..
src feat(cli): watch paths for auto uploading daemon (#14923) 2025-03-03 13:05:32 -05:00
.editorconfig
.gitignore
.npmignore chore(cli): clean up files (#7955) 2024-03-14 13:09:27 -04:00
.nvmrc chore(deps): update node.js to v22.14.0 (#16132) 2025-02-15 21:29:33 -06:00
.prettierignore
.prettierrc chore(cli): auto-sort imports (#7116) 2024-02-14 09:55:40 -05:00
Dockerfile chore(deps): update node (#15554) 2025-01-23 08:32:14 -05:00
eslint.config.mjs chore: object shorthand linting rule (#12152) 2024-08-30 14:38:53 -04:00
LICENSE Change license to AGPLv3 (#7046) 2024-02-12 15:31:59 +00:00
package-lock.json feat(cli): watch paths for auto uploading daemon (#14923) 2025-03-03 13:05:32 -05:00
package.json feat(cli): watch paths for auto uploading daemon (#14923) 2025-03-03 13:05:32 -05:00
README.md fix(cli): Update build instructions for CLI (#11874) 2024-08-28 13:25:58 +00:00
tsconfig.json chore(cli): clean up files (#7955) 2024-03-14 13:09:27 -04:00
vite.config.ts fix(cli): handle patterns correctly on Windows (#10430) 2024-06-21 17:09:02 -07:00
vitest.config.ts chore: migrate CLI to ESM and vitest (#6777) 2024-01-30 18:23:33 -05:00

A command-line interface for interfacing with the self-hosted photo manager Immich.

Please see the Immich CLI documentation.

For developers

Before building the CLI, you must build the immich server and the open-api client. To build the server run the following in the server folder:

$ npm install
$ npm run build

Then, to build the open-api client run the following in the open-api folder:

$ ./bin/generate-open-api.sh

To run the Immich CLI from source, run the following in the cli folder:

$ npm install
$ npm run build
$ ts-node .

You'll need ts-node, the easiest way to install it is to use npm:

$ npm i -g ts-node

You can also build and install the CLI using

$ npm run build
$ npm install -g .