hfs
Version:
HTTP File Server
130 lines (129 loc) • 6.03 kB
JSON
{
"name": "hfs",
"version": "0.57.4",
"description": "HTTP File Server",
"keywords": ["file server", "http server"],
"homepage": "https://rejetto.com/hfs",
"license": "GPL-3.0",
"author": "Massimo Melina <a@rejetto.com>",
"workspaces": [ "admin", "frontend", "shared", "mui-grid-form" ],
"scripts": {
"watch-server": "cross-env DEV=1 nodemon --ignore tests/ --watch src -e ts,tsx --exec tsx src",
"watch-server-proxied": "cross-env FRONTEND_PROXY=3005 ADMIN_PROXY=3006 npm run watch-server",
"start-frontend": "npm run start --workspace=frontend",
"start-admin": "npm run start --workspace=admin",
"build-all": "npm audit --omit=dev --audit-level=moderate && rm -rf dist && npm i && npm run build-server && npm run test-with-server && (npm run build-frontend & npm run build-admin) && echo COMPLETED",
"build-server": "rm -rf dist/src dist/plugins && tsc --target es2018 && touch package.json && cp -v -r package.json central.json README* LICENSE* hfs.ico plugins dist && find dist -name .DS_Store -o -name storage -exec rm -rf {} + && node afterbuild.js",
"build-frontend": "npm run build --workspace=frontend",
"build-admin": "npm run build --workspace=admin",
"server-for-test": "node dist/src --cwd tests/work --config tests --debug",
"server-for-test-dev": "cross-env DEV=1 FRONTEND_PROXY=3005 ADMIN_PROXY=3006 nodemon --ignore tests/ --watch src -e ts,tsx --exec tsx src -- --cwd tests/work --config tests",
"test": "node --import tsx --test tests/test.ts",
"test-with-server": "rm -rf tests/work && (node dist/src --cwd tests/work --config tests & echo $! > .server_pid) && sleep 2 && node --import tsx --test tests/test.ts; _exit=$?; SERVER_PID=$(cat ./.server_pid); kill \"$SERVER_PID\" 2>/dev/null || true; rm -f ./.server_pid; exit $_exit",
"test-ui": "npx playwright test --ui",
"pub": "cd dist && npm publish",
"dist": "npm run build-all && npx playwright test && npm run dist-bin",
"dist-bin": "npm run dist-modules && npm run dist-bin-win && npm run dist-bin-linux && npm run dist-bin-mac && npm run dist-bin-mac-arm",
"dist-modules": "cp package*.json central.json dist && cd dist && npm ci --omit=dev && cd .. && node prune_modules",
"dist-pre": "cd dist && rm -rf node_modules/@node-rs/crc32-*",
"dist-bin-win": "npm run dist-pre && cd dist && npm i -f --no-save --omit=dev @node-rs/crc32-win32-x64-msvc && pkg . --public -C gzip -t node20-win-x64 && npx resedit-cli --in hfs.exe --icon 1,../hfs.ico --out hfs.exe && zip hfs-windows-x64-$(jq -r .version ../package.json).zip hfs.exe -r plugins && cd ..",
"dist-bin-mac-arm": "npm run dist-pre && cd dist && npm i -f --no-save --omit=dev @node-rs/crc32-darwin-arm64 && pkg . --public -C gzip -t node20-macos-arm64 && zip hfs-mac-arm64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
"dist-bin-mac": "npm run dist-pre && cd dist && npm i -f --no-save --omit=dev @node-rs/crc32-darwin-x64 && pkg . --public -C gzip -t node20-macos-x64 && zip hfs-mac-x64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
"dist-bin-linux": "npm run dist-pre && cd dist && npm i -f --no-save --omit=dev @node-rs/crc32-linux-x64-gnu && pkg . --public -C gzip -t node20-linux-x64 && zip hfs-linux-x64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
"dist-win": "npm run dist-modules && npm run dist-bin-win",
"dist-mac-arm": "npm run dist-modules && npm run dist-bin-mac-arm",
"dist-mac": "npm run dist-modules && npm run dist-bin-mac",
"dist-linux": "npm run dist-modules && npm run dist-bin-linux",
"dist-node": "npm run dist-modules && cd dist && zip hfs-node-$(jq -r .version ../package.json).zip -r * -x *.zip *.exe hfs-* *.log logs"
},
"engines": {
"node": ">=18.15.0"
},
"files": [
"central.json",
"src/*",
"admin/*",
"frontend/*",
"plugins/*"
],
"repository": {
"type": "git",
"url": "https://github.com/rejetto/hfs/"
},
"bin": {
"hfs": "src/index.js"
},
"pkg": {
"assets": [
"central.json",
"admin/**/*",
"frontend/**/*",
"**/node_modules/fswin/x64/*",
"**/node_modules/axios/dist/node/*"
],
"targets": [
"node20-win-x64",
"node20-mac-x64",
"node20-mac-arm64",
"node20-linux-x64"
]
},
"dependencies": {
"@gregoranders/csv": "^0.0.13",
"@node-rs/crc32": "^1.10.6",
"@rejetto/kvstorage": "^0.13.2",
"acme-client": "^5.4.0",
"buffer-crc32": "^1.0.0",
"fast-glob": "^3.3.3",
"find-process": "^1.4.7",
"formidable": "^3.5.4",
"fs-x-attributes": "^1.0.2",
"fswin": "^3.24.829",
"iconv-lite": "^0.6.3",
"immer": "^9.0.21",
"ip2location-nodejs": "^9.6.3",
"koa": "^2.16.0",
"koa-compress": "^5.1.1",
"koa-mount": "^4.0.0",
"koa-session": "^7.0.2",
"limiter": "^2.1.0",
"lodash": "^4.17.21",
"minimist": "^1.2.6",
"nat-upnp-rejetto": "^2.1.0",
"node-forge": "^1.3.1",
"open": "^8.4.0",
"picomatch": "^3.0.1",
"tssrp6a": "^3.0.0",
"unzip-stream": "^0.3.4",
"valtio": "^1.10.3",
"xxhashjs": "^0.2.2",
"yaml": "^2.0.0-10"
},
"devDependencies": {
"@playwright/test": "^1.51.1",
"@types/archiver": "^5.1.1",
"@types/basic-auth": "^1.1.3",
"@types/formidable": "^3.4.1",
"@types/koa": "^2.13.4",
"@types/koa__router": "^8.0.11",
"@types/koa-compress": "^4.0.3",
"@types/koa-mount": "^4.0.1",
"@types/koa-session": "^5.10.4",
"@types/lodash": "^4.14.178",
"@types/mime-types": "^2.1.1",
"@types/minimist": "^1.2.2",
"@types/node": "^20.17.30",
"@types/node-forge": "^1.3.11",
"@types/picomatch": "^2.3.3",
"@types/tough-cookie": "^4.0.2",
"@types/unzipper": "^0.10.5",
"@yao-pkg/pkg": "^6.4.0",
"cross-env": "^7.0.3",
"koa-better-http-proxy": "^0.2.9",
"nm-prune": "^5.0.0",
"nodemon": "^3.1.9",
"tough-cookie": "^4.0.0",
"tsx": "^4.19.3",
"typescript": "^5.8.3"
}
}