shlinkio / shlink-web-client

A React-based client application for Shlink
https://app.shlink.io
MIT License
288 stars 76 forks source link

Following Contributing.md does not work #1299

Closed theofficialgman closed 4 days ago

theofficialgman commented 5 days ago

shlink-web-client version

latest git

How do you use shlink-web-client

Other (explain in summary)

Current behavior

Following https://github.com/shlinkio/shlink-web-client/blob/develop/CONTRIBUTING.md results in errors on docker compose up

I will make a reminder that any permission errors in the docker container about the user folder have no relation to my actual user folder as this is not mounted in the container.

[+] Running 1/0
 ✔ Container shlink_web_client_node  Created                                                                                                                                                                                                                                                                            0.0s 
Attaching to shlink_web_client_node
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.d.ts.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.d.ts'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.js.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.d.ts.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.js.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.d.ts.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.js.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.d.ts.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js'
shlink_web_client_node  | npm warn cleanup Failed to remove some directories [
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ],
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager/dist/lib'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager/dist/lib'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ],
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules/@typescript-eslint/parser',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager/dist/lib'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager/dist/lib'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ],
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules/@typescript-eslint',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ],
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules/@typescript-eslint/type-utils',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager/dist/lib'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager/dist/lib'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ],
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ],
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree/dist'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ],
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules/@stylistic',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/ts-eslint'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/ts-eslint'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ],
shlink_web_client_node  | npm warn cleanup   [
shlink_web_client_node  | npm warn cleanup     '/home/shlink/www/node_modules/@stylistic/eslint-plugin',
shlink_web_client_node  | npm warn cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/ts-eslint'] {
shlink_web_client_node  | npm warn cleanup       errno: -39,
shlink_web_client_node  | npm warn cleanup       code: 'ENOTEMPTY',
shlink_web_client_node  | npm warn cleanup       syscall: 'rmdir',
shlink_web_client_node  | npm warn cleanup       path: '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/ts-eslint'
shlink_web_client_node  | npm warn cleanup     }
shlink_web_client_node  | npm warn cleanup   ]
shlink_web_client_node  | npm warn cleanup ]
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.js.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.d.ts.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.js.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassScope.d.ts.map'
shlink_web_client_node  | npm warn tar TAR_ENTRY_ERROR ENOENT: no such file or directory, open '/home/shlink/www/node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js'
shlink_web_client_node  | npm error code EACCES
shlink_web_client_node  | npm error syscall mkdir
shlink_web_client_node  | npm error path /home/garrett/.npm
shlink_web_client_node  | npm error errno EACCES
shlink_web_client_node  | npm error
shlink_web_client_node  | npm error Your cache folder contains root-owned files, due to a bug in
shlink_web_client_node  | npm error previous versions of npm which has since been addressed.
shlink_web_client_node  | npm error
shlink_web_client_node  | npm error To permanently fix this problem, please run:
shlink_web_client_node  | npm error   sudo chown -R 1000:1000 "/home/garrett/.npm"
shlink_web_client_node  | npm notice
shlink_web_client_node  | npm notice New patch version of npm available! 10.8.1 -> 10.8.3
shlink_web_client_node  | npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.3
shlink_web_client_node  | npm notice To update run: npm install -g npm@10.8.3
shlink_web_client_node  | npm notice
shlink_web_client_node  | npm error Log files were not written due to an error writing to the directory: /home/garrett/.npm/_logs
shlink_web_client_node  | npm error You can rerun the command with `--loglevel=verbose` to see the logs in your terminal
shlink_web_client_node exited with code 1

Expected behavior

docker compose up does not error

Minimum steps to reproduce

Following Contributing.md

cd /tmp
git clone --depth=1 https://github.com/shlinkio/shlink-web-client.git
cd shlink-web-client/
cp docker-compose.override.yml.dist docker-compose.override.yml
sed -i "s/alejandro/$USER/" docker-compose.override.yml
docker compose up